diff --git a/docs/_build/doctrees/api/kinoml/_version/index.doctree b/docs/_build/doctrees/api/kinoml/_version/index.doctree deleted file mode 100644 index f49332ac..00000000 Binary files a/docs/_build/doctrees/api/kinoml/_version/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/analysis/index.doctree b/docs/_build/doctrees/api/kinoml/analysis/index.doctree deleted file mode 100644 index 55fb84c4..00000000 Binary files a/docs/_build/doctrees/api/kinoml/analysis/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/analysis/metrics/index.doctree b/docs/_build/doctrees/api/kinoml/analysis/metrics/index.doctree deleted file mode 100644 index 444ac8ab..00000000 Binary files a/docs/_build/doctrees/api/kinoml/analysis/metrics/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/analysis/plots/index.doctree b/docs/_build/doctrees/api/kinoml/analysis/plots/index.doctree deleted file mode 100644 index 693edc5c..00000000 Binary files a/docs/_build/doctrees/api/kinoml/analysis/plots/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/components/index.doctree b/docs/_build/doctrees/api/kinoml/core/components/index.doctree deleted file mode 100644 index ac5e5a69..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/components/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/conditions/index.doctree b/docs/_build/doctrees/api/kinoml/core/conditions/index.doctree deleted file mode 100644 index 83770fbd..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/conditions/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/index.doctree b/docs/_build/doctrees/api/kinoml/core/index.doctree deleted file mode 100644 index 8a6dc481..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/ligands/index.doctree b/docs/_build/doctrees/api/kinoml/core/ligands/index.doctree deleted file mode 100644 index 87499733..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/ligands/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/measurements/index.doctree b/docs/_build/doctrees/api/kinoml/core/measurements/index.doctree deleted file mode 100644 index 8aab0127..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/measurements/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/proteins/index.doctree b/docs/_build/doctrees/api/kinoml/core/proteins/index.doctree deleted file mode 100644 index 8d74aa69..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/proteins/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/sequences/index.doctree b/docs/_build/doctrees/api/kinoml/core/sequences/index.doctree deleted file mode 100644 index 31385427..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/sequences/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/core/systems/index.doctree b/docs/_build/doctrees/api/kinoml/core/systems/index.doctree deleted file mode 100644 index 2dcc87a0..00000000 Binary files a/docs/_build/doctrees/api/kinoml/core/systems/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/databases/index.doctree b/docs/_build/doctrees/api/kinoml/databases/index.doctree deleted file mode 100644 index 4147b161..00000000 Binary files a/docs/_build/doctrees/api/kinoml/databases/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/databases/klifs/index.doctree b/docs/_build/doctrees/api/kinoml/databases/klifs/index.doctree deleted file mode 100644 index cd5b4ce2..00000000 Binary files a/docs/_build/doctrees/api/kinoml/databases/klifs/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/databases/pdb/index.doctree b/docs/_build/doctrees/api/kinoml/databases/pdb/index.doctree deleted file mode 100644 index 2f11f26a..00000000 Binary files a/docs/_build/doctrees/api/kinoml/databases/pdb/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/databases/uniprot/index.doctree b/docs/_build/doctrees/api/kinoml/databases/uniprot/index.doctree deleted file mode 100644 index 841eb068..00000000 Binary files a/docs/_build/doctrees/api/kinoml/databases/uniprot/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/chembl/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/chembl/index.doctree deleted file mode 100644 index b6ba5030..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/chembl/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/core/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/core/index.doctree deleted file mode 100644 index 4b9838a1..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/core/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/groups/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/groups/index.doctree deleted file mode 100644 index 22289601..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/groups/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/index.doctree deleted file mode 100644 index 09d154b3..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/pkis2/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/pkis2/index.doctree deleted file mode 100644 index d184e245..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/pkis2/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/torch_datasets/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/torch_datasets/index.doctree deleted file mode 100644 index 0adc7c2a..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/torch_datasets/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree b/docs/_build/doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree deleted file mode 100644 index a8a7cb15..00000000 Binary files a/docs/_build/doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/docking/OEDocking/index.doctree b/docs/_build/doctrees/api/kinoml/docking/OEDocking/index.doctree deleted file mode 100644 index 05420a8f..00000000 Binary files a/docs/_build/doctrees/api/kinoml/docking/OEDocking/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree b/docs/_build/doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree deleted file mode 100644 index c061dbdd..00000000 Binary files a/docs/_build/doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/docking/index.doctree b/docs/_build/doctrees/api/kinoml/docking/index.doctree deleted file mode 100644 index 12055d0b..00000000 Binary files a/docs/_build/doctrees/api/kinoml/docking/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/features/complexes/index.doctree b/docs/_build/doctrees/api/kinoml/features/complexes/index.doctree deleted file mode 100644 index 64cc8997..00000000 Binary files a/docs/_build/doctrees/api/kinoml/features/complexes/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/features/core/index.doctree b/docs/_build/doctrees/api/kinoml/features/core/index.doctree deleted file mode 100644 index 6632530b..00000000 Binary files a/docs/_build/doctrees/api/kinoml/features/core/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/features/index.doctree b/docs/_build/doctrees/api/kinoml/features/index.doctree deleted file mode 100644 index a582d8a1..00000000 Binary files a/docs/_build/doctrees/api/kinoml/features/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/features/ligand/index.doctree b/docs/_build/doctrees/api/kinoml/features/ligand/index.doctree deleted file mode 100644 index f98f9c89..00000000 Binary files a/docs/_build/doctrees/api/kinoml/features/ligand/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/features/protein/index.doctree b/docs/_build/doctrees/api/kinoml/features/protein/index.doctree deleted file mode 100644 index 7392dbe2..00000000 Binary files a/docs/_build/doctrees/api/kinoml/features/protein/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/index.doctree b/docs/_build/doctrees/api/kinoml/index.doctree deleted file mode 100644 index ef341859..00000000 Binary files a/docs/_build/doctrees/api/kinoml/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/index.doctree b/docs/_build/doctrees/api/kinoml/ml/index.doctree deleted file mode 100644 index e16c6476..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/lightning_modules/index.doctree b/docs/_build/doctrees/api/kinoml/ml/lightning_modules/index.doctree deleted file mode 100644 index b88219e7..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/lightning_modules/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/tensorflow_models/index.doctree b/docs/_build/doctrees/api/kinoml/ml/tensorflow_models/index.doctree deleted file mode 100644 index f4544f7f..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/tensorflow_models/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/torch_geometric_models/index.doctree b/docs/_build/doctrees/api/kinoml/ml/torch_geometric_models/index.doctree deleted file mode 100644 index 4b206ca2..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/torch_geometric_models/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/torch_loops/index.doctree b/docs/_build/doctrees/api/kinoml/ml/torch_loops/index.doctree deleted file mode 100644 index 98634012..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/torch_loops/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/torch_models/index.doctree b/docs/_build/doctrees/api/kinoml/ml/torch_models/index.doctree deleted file mode 100644 index d2ec5b4e..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/torch_models/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/ml/torch_trees/index.doctree b/docs/_build/doctrees/api/kinoml/ml/torch_trees/index.doctree deleted file mode 100644 index b255b75f..00000000 Binary files a/docs/_build/doctrees/api/kinoml/ml/torch_trees/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree b/docs/_build/doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree deleted file mode 100644 index 3960bcc0..00000000 Binary files a/docs/_build/doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/modeling/OEModeling/index.doctree b/docs/_build/doctrees/api/kinoml/modeling/OEModeling/index.doctree deleted file mode 100644 index 2b97db83..00000000 Binary files a/docs/_build/doctrees/api/kinoml/modeling/OEModeling/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree b/docs/_build/doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree deleted file mode 100644 index ff8144d1..00000000 Binary files a/docs/_build/doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/modeling/alignment/index.doctree b/docs/_build/doctrees/api/kinoml/modeling/alignment/index.doctree deleted file mode 100644 index 75ca600a..00000000 Binary files a/docs/_build/doctrees/api/kinoml/modeling/alignment/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/modeling/index.doctree b/docs/_build/doctrees/api/kinoml/modeling/index.doctree deleted file mode 100644 index 074f14f2..00000000 Binary files a/docs/_build/doctrees/api/kinoml/modeling/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/optimize/index.doctree b/docs/_build/doctrees/api/kinoml/optimize/index.doctree deleted file mode 100644 index 3cb05bb2..00000000 Binary files a/docs/_build/doctrees/api/kinoml/optimize/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/utils/index.doctree b/docs/_build/doctrees/api/kinoml/utils/index.doctree deleted file mode 100644 index 9571cec7..00000000 Binary files a/docs/_build/doctrees/api/kinoml/utils/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/api/kinoml/workflows/index.doctree b/docs/_build/doctrees/api/kinoml/workflows/index.doctree deleted file mode 100644 index b5a68753..00000000 Binary files a/docs/_build/doctrees/api/kinoml/workflows/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle deleted file mode 100644 index f505d727..00000000 Binary files a/docs/_build/doctrees/environment.pickle and /dev/null differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree deleted file mode 100644 index 88fcf842..00000000 Binary files a/docs/_build/doctrees/index.doctree and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb deleted file mode 100644 index ffc7270b..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb +++ /dev/null @@ -1,1596 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": {}, - "source": [ - "# OpenEye Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": {}, - "source": [ - "This notebook introduces structural modeling featurizers using the [OpenEye toolkits](https://docs.eyesopen.com/toolkits/python/index.html) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinSystem, ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.protein import OEProteinStructureFeaturizer\n", - "from kinoml.features.complexes import ( \n", - " OEComplexFeaturizer, \n", - " OEDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "91e7515b-a9a1-47a8-9e06-76c080669e6a", - "metadata": {}, - "source": [ - "## OEProteinStructureFeaturizer\n", - "\n", - "All OpenEye Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "50ec8fcf-495e-4c84-896a-6b65eb5c41a3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein, prepare the protein structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein and water\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein`\n", - "or a subclass thereof, must be initialized with toolkit='OpenEye' and\n", - "give access to a molecular structure, e.g. via a pdb_id. Additionally,\n", - "the protein component can have the following optional attributes to\n", - "customize the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEProteinStructureFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "b622768e-a72c-41c5-ae25-441107b8b848", - "metadata": {}, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c911d115-0f3f-465e-b887-d7a574c76f5c", - "metadata": {}, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "19e36150-0c66-4bcf-aa2f-e31e8331f4f7", - "metadata": {}, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "4863a511-87e7-4301-9b74-d9a428f4ac50", - "metadata": {}, - "outputs": [], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f15a753f-5fab-4705-907f-9e9e1dc5b2b1", - "metadata": {}, - "outputs": [], - "source": [ - "# use a protein structure form file\n", - "with resources.path(\"kinoml.data.proteins\", \"4f8o_edit.pdb\") as structure_path:\n", - " pass\n", - "protein = Protein.from_file(file_path=structure_path, name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "44c9a4c1-36b4-46cd-acd9-84bcc1593512", - "metadata": {}, - "outputs": [], - "source": [ - "with resources.path(\"kinoml.data.proteins\", \"kinoml_tests_4f8o_spruce.loop_db\") as loop_db:\n", - " pass\n", - "featurizer = OEProteinStructureFeaturizer(\n", - " loop_db=loop_db,\n", - " output_dir=user_cache_dir() + \"/protein\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "084058f9-3d8b-4c38-93c5-73fb4e72984c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46546397b38a4b87aa3e9675174939ad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEProteinStructureFeaturizer: 0%| | 0/3 [00:00)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "d4ea4adc-8ebe-4724-9413-2d7cf7867244", - "metadata": {}, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "8cb40c64-3d1c-47b1-8ff8-9b1f12113835", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8300557b-9864-4451-a56d-0d56ff6c3d36", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "f59b6a51-5aef-4798-ae43-f04bd8dc8b7a", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9a291d20-206d-4fc2-a0a3-d1c3e2b9b4b3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/protein\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": {}, - "source": [ - "## OEComplexFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "If the ligand of interest is covalently bonded to the protein, the\n", - "covalent bond will be broken. This may lead to the transformation of the\n", - "ligand into a radical.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEComplexFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEComplexFeaturizer(\n", - " output_dir=user_cache_dir() + \"/complex\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ed545e3ba934fa0b4e7f0c5930d51f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEComplexFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": {}, - "source": [ - "## OEDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "a45a20ff-9a98-4368-8a46-20e05bdcaba3", - "metadata": {}, - "source": [ - "The `OEDockingFeaturizer` supports [3 docking methods](https://docs.eyesopen.com/toolkits/python/dockingtk/index.html), i.e.:\n", - " - **Fred** - standard docking protocol\n", - " - **Hybrid** - biased by co-crystallized ligand\n", - " - **Posit** - bias depends on the similarity to the co-crystallized ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure and dock the ligand into the prepared protein structure with\n", - "one of OpenEye's docking algorithms:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - perform docking\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - " - `pocket_resids`: List of integers specifying the residues in the\n", - " binding pocket of interest. This attribute is required if docking with\n", - " Fred into an apo structure.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "method: str, default=\"Posit\"\n", - " The docking method to use [\"Fred\", \"Hybrid\", \"Posit\"].\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "pKa_norm: bool, default=True\n", - " Assign the predominant ionization state of the molecules to dock at pH\n", - " ~7.4. If False, the ionization state of the input molecules will be\n", - " conserved.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": {}, - "source": [ - "### Fred" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via co-crystallized ligand\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "366da943-7ad5-450f-910f-6a395d22e0e5", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via residue IDs\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.pocket_resids = [\n", - " 516, 517, 521, 524, 542, 544, 573, 589, 590, 591, 592, 595, 596, 654, 655, 656, 657, 667, 668\n", - "]\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib_2\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Fred\",\n", - " method=\"Fred\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f1f62040805c4ae98cbf0cc41b2babfb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEDockingFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": {}, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[-17.801493, -3.960361]" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[system.featurizations[\"last\"]._topology.docking_score for system in systems]" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": {}, - "source": [ - "### Hybrid" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Hybrid\",\n", - " method=\"Hybrid\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "67ada0eb-be71-4259-9874-6aee5eb5ba46", - "metadata": { - "tags": [] - }, - "source": [ - "### Posit" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "9387b999-9339-4629-95ad-ccd358989dc5", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "c353801e-beb7-4584-9ab3-bfce88a575bf", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "a36321ea-4171-46d2-ab13-342bd8ad00ad", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Posit\",\n", - " method=\"Posit\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9f89a73b-8237-42bd-be31-65d828cf56f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "540e3ec0-6a95-43df-8764-832c0912e648", - "metadata": {}, - "source": [ - "Beside the docking score, the Posit probability is also stored in the returned MDAnaylsis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "41ac2ac5-2e66-45d9-87ac-fa15efe4f0cc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.5" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.posit_probability" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": {}, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"mcs\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.51 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": {}, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.04 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": {}, - "source": [ - "### OpenEye's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"openeye_shape\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4min 25s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": {}, - "source": [ - "Using shape is clearly the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": {}, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and OEDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `OEDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " OEDockingFeaturizer(output_dir=user_cache_dir() + \"/docking_pipeline\", method=\"Posit\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Failed to find residue GLY-7.\n", - "Warning: Failed to find residue ALA-6.\n", - "Warning: Failed to find residue MET-5.\n", - "DPI: 0.12, RFree: 0.22, Resolution: 2.02\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: A\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Processing BU # 2 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: B\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Warning: No BioAssembly transforms found, using input molecule as biounit: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA\n", - "Warning: Iridium - Structure: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA has no REMARK data\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA, chains A\n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, OEDockingFeaturizer])': }" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "3f98d648-0e40-49ce-b1e2-4d8c7fd0d01a", - "metadata": {}, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "234cc3e5-e686-4700-befe-b6fc3d5a55b5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "77503924-02f5-4f7e-8198-5667982c1336", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "4caecb34-aa08-48a6-a126-35bb42f8e5f5", - "metadata": {}, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "e173d870-d37c-4225-b7c3-7f09188a0493", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "1e9d34de-7dd6-4330-9345-350b0625813b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "6c4624b7-93fc-4d5d-b941-2d3ff70de37f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb deleted file mode 100644 index cda17c5f..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb +++ /dev/null @@ -1,2088 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": { - "papermill": { - "duration": 0.077343, - "end_time": "2022-04-22T12:38:50.757842", - "exception": false, - "start_time": "2022-04-22T12:38:50.680499", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Schrodinger Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": { - "papermill": { - "duration": 0.075231, - "end_time": "2022-04-22T12:38:50.909289", - "exception": false, - "start_time": "2022-04-22T12:38:50.834058", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "This notebook introduces structural modeling featurizers using molecular modeling capabilities from the [Schrodinger Suite](https://www.schrodinger.com/) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:38:51.053426Z", - "iopub.status.busy": "2022-04-22T12:38:51.052720Z", - "iopub.status.idle": "2022-04-22T12:39:10.718673Z", - "shell.execute_reply": "2022-04-22T12:39:10.715608Z" - }, - "papermill": { - "duration": 19.745161, - "end_time": "2022-04-22T12:39:10.725049", - "exception": false, - "start_time": "2022-04-22T12:38:50.979888", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.complexes import ( \n", - " SCHRODINGERComplexFeaturizer, \n", - " SCHRODINGERDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": { - "papermill": { - "duration": 0.092947, - "end_time": "2022-04-22T12:39:10.912999", - "exception": false, - "start_time": "2022-04-22T12:39:10.820052", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERComplexFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "684afa3d-3f34-4cbe-ad12-8a089a526940", - "metadata": { - "papermill": { - "duration": 0.095627, - "end_time": "2022-04-22T12:39:11.233127", - "exception": false, - "start_time": "2022-04-22T12:39:11.137500", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "All Schrodinger Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.412971Z", - "iopub.status.busy": "2022-04-22T12:39:11.412237Z", - "iopub.status.idle": "2022-04-22T12:39:11.421543Z", - "shell.execute_reply": "2022-04-22T12:39:11.420182Z" - }, - "papermill": { - "duration": 0.10818, - "end_time": "2022-04-22T12:39:11.432437", - "exception": false, - "start_time": "2022-04-22T12:39:11.324257", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard step.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERComplexFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "11cc845a-cc1d-4f68-a5ef-0f634352dd2e", - "metadata": { - "papermill": { - "duration": 0.088236, - "end_time": "2022-04-22T12:39:11.611911", - "exception": false, - "start_time": "2022-04-22T12:39:11.523675", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.735035Z", - "iopub.status.busy": "2022-04-22T12:39:11.734639Z", - "iopub.status.idle": "2022-04-22T12:39:11.739487Z", - "shell.execute_reply": "2022-04-22T12:39:11.738591Z" - }, - "papermill": { - "duration": 0.065894, - "end_time": "2022-04-22T12:39:11.744234", - "exception": false, - "start_time": "2022-04-22T12:39:11.678340", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.864349Z", - "iopub.status.busy": "2022-04-22T12:39:11.863991Z", - "iopub.status.idle": "2022-04-22T12:39:11.870014Z", - "shell.execute_reply": "2022-04-22T12:39:11.869269Z" - }, - "papermill": { - "duration": 0.073111, - "end_time": "2022-04-22T12:39:11.874327", - "exception": false, - "start_time": "2022-04-22T12:39:11.801216", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:12.022456Z", - "iopub.status.busy": "2022-04-22T12:39:12.021840Z", - "iopub.status.idle": "2022-04-22T12:39:18.939760Z", - "shell.execute_reply": "2022-04-22T12:39:18.938837Z" - }, - "papermill": { - "duration": 6.998201, - "end_time": "2022-04-22T12:39:18.941864", - "exception": false, - "start_time": "2022-04-22T12:39:11.943663", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - } - ], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.008197Z", - "iopub.status.busy": "2022-04-22T12:39:19.007918Z", - "iopub.status.idle": "2022-04-22T12:39:19.012884Z", - "shell.execute_reply": "2022-04-22T12:39:19.012330Z" - }, - "papermill": { - "duration": 0.040611, - "end_time": "2022-04-22T12:39:19.015376", - "exception": false, - "start_time": "2022-04-22T12:39:18.974765", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERComplexFeaturizer(output_dir=\"output/complex\")" - ] - }, - { - "cell_type": "markdown", - "id": "678a9610-0009-4b0e-b5b4-cd9fc79a2177", - "metadata": { - "papermill": { - "duration": 0.032172, - "end_time": "2022-04-22T12:39:19.079128", - "exception": false, - "start_time": "2022-04-22T12:39:19.046956", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.262711Z", - "iopub.status.busy": "2022-04-22T12:39:19.262206Z", - "iopub.status.idle": "2022-04-22T12:39:57.014777Z", - "shell.execute_reply": "2022-04-22T12:39:57.014012Z" - }, - "papermill": { - "duration": 37.855662, - "end_time": "2022-04-22T12:39:57.026026", - "exception": false, - "start_time": "2022-04-22T12:39:19.170364", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "92d67821-7c0f-4a83-be41-55e5ddd0fa46", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.092001Z", - "iopub.status.busy": "2022-04-22T12:39:57.091568Z", - "iopub.status.idle": "2022-04-22T12:39:57.099682Z", - "shell.execute_reply": "2022-04-22T12:39:57.098675Z" - }, - "papermill": { - "duration": 0.049043, - "end_time": "2022-04-22T12:39:57.106980", - "exception": false, - "start_time": "2022-04-22T12:39:57.057937", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": { - "papermill": { - "duration": 0.078278, - "end_time": "2022-04-22T12:39:57.264779", - "exception": false, - "start_time": "2022-04-22T12:39:57.186501", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB format." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.425866Z", - "iopub.status.busy": "2022-04-22T12:39:57.425440Z", - "iopub.status.idle": "2022-04-22T12:39:57.433659Z", - "shell.execute_reply": "2022-04-22T12:39:57.432682Z" - }, - "papermill": { - "duration": 0.096334, - "end_time": "2022-04-22T12:39:57.440877", - "exception": false, - "start_time": "2022-04-22T12:39:57.344543", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": { - "papermill": { - "duration": 0.074663, - "end_time": "2022-04-22T12:39:57.591975", - "exception": false, - "start_time": "2022-04-22T12:39:57.517312", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "163c82b1-1e07-447d-a1c6-bac356cbe031", - "metadata": { - "papermill": { - "duration": 0.079668, - "end_time": "2022-04-22T12:39:57.752808", - "exception": false, - "start_time": "2022-04-22T12:39:57.673140", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking can be performed with and without shape restrain to the co-crystallized ligand. Moreover, the protein structure for docking must contain a co-crystallized ligand, which is required for the pocket definition." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.914360Z", - "iopub.status.busy": "2022-04-22T12:39:57.913953Z", - "iopub.status.idle": "2022-04-22T12:39:57.920415Z", - "shell.execute_reply": "2022-04-22T12:39:57.919480Z" - }, - "papermill": { - "duration": 0.094733, - "end_time": "2022-04-22T12:39:57.927781", - "exception": false, - "start_time": "2022-04-22T12:39:57.833048", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure dock the ligand into its binding site identified by a\n", - "co-crystallized ligand. The following steps will be performed:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - docking a ligand\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name and as molecule title in the docking\n", - " pose SDF file.\n", - " - `macrocycle`: A bool specifying if the ligand shell be sampled as a\n", - " macrocycle during docking. Docking will fail, if SCHRDODINGER does not\n", - " consider the ligand a macrocycle.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard and\n", - " docking steps.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n", - "shape_restrain: bool, default=True\n", - " If the docking shell be performed with shape restrain based on the\n", - " co-crystallized ligand.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": { - "papermill": { - "duration": 0.075391, - "end_time": "2022-04-22T12:39:58.079576", - "exception": false, - "start_time": "2022-04-22T12:39:58.004185", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Without shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.243624Z", - "iopub.status.busy": "2022-04-22T12:39:58.243213Z", - "iopub.status.idle": "2022-04-22T12:39:58.248464Z", - "shell.execute_reply": "2022-04-22T12:39:58.247415Z" - }, - "papermill": { - "duration": 0.094271, - "end_time": "2022-04-22T12:39:58.254265", - "exception": false, - "start_time": "2022-04-22T12:39:58.159994", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.418615Z", - "iopub.status.busy": "2022-04-22T12:39:58.418126Z", - "iopub.status.idle": "2022-04-22T12:39:58.425444Z", - "shell.execute_reply": "2022-04-22T12:39:58.424380Z" - }, - "papermill": { - "duration": 0.095417, - "end_time": "2022-04-22T12:39:58.431095", - "exception": false, - "start_time": "2022-04-22T12:39:58.335678", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.591255Z", - "iopub.status.busy": "2022-04-22T12:39:58.590864Z", - "iopub.status.idle": "2022-04-22T12:39:58.597392Z", - "shell.execute_reply": "2022-04-22T12:39:58.596415Z" - }, - "papermill": { - "duration": 0.095846, - "end_time": "2022-04-22T12:39:58.603791", - "exception": false, - "start_time": "2022-04-22T12:39:58.507945", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_without_shape_restrain\",\n", - " shape_restrain=False\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.765771Z", - "iopub.status.busy": "2022-04-22T12:39:58.765410Z", - "iopub.status.idle": "2022-04-22T12:44:07.332372Z", - "shell.execute_reply": "2022-04-22T12:44:07.331024Z" - }, - "papermill": { - "duration": 248.653296, - "end_time": "2022-04-22T12:44:07.339348", - "exception": false, - "start_time": "2022-04-22T12:39:58.686052", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmpq7th966w.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a247\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_without_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": { - "papermill": { - "duration": 0.080771, - "end_time": "2022-04-22T12:44:07.506012", - "exception": false, - "start_time": "2022-04-22T12:44:07.425241", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:07.673680Z", - "iopub.status.busy": "2022-04-22T12:44:07.673115Z", - "iopub.status.idle": "2022-04-22T12:44:07.682537Z", - "shell.execute_reply": "2022-04-22T12:44:07.681347Z" - }, - "papermill": { - "duration": 0.103157, - "end_time": "2022-04-22T12:44:07.692056", - "exception": false, - "start_time": "2022-04-22T12:44:07.588899", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "-10.1766" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.docking_score" - ] - }, - { - "cell_type": "markdown", - "id": "c3ff444f-289c-4bdc-b342-9beaefb554eb", - "metadata": { - "papermill": { - "duration": 0.078904, - "end_time": "2022-04-22T12:44:07.856264", - "exception": false, - "start_time": "2022-04-22T12:44:07.777360", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and MAE format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f2147b48-ded0-4cc8-acc1-78f976117b8e", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.023515Z", - "iopub.status.busy": "2022-04-22T12:44:08.022996Z", - "iopub.status.idle": "2022-04-22T12:44:08.030775Z", - "shell.execute_reply": "2022-04-22T12:44:08.029621Z" - }, - "papermill": { - "duration": 0.098135, - "end_time": "2022-04-22T12:44:08.038803", - "exception": false, - "start_time": "2022-04-22T12:44:07.940668", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.pdb\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_ligand.sdf\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/docking_without_shape_restrain\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": { - "papermill": { - "duration": 0.080219, - "end_time": "2022-04-22T12:44:08.202697", - "exception": false, - "start_time": "2022-04-22T12:44:08.122478", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### With shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.371976Z", - "iopub.status.busy": "2022-04-22T12:44:08.371473Z", - "iopub.status.idle": "2022-04-22T12:44:08.377379Z", - "shell.execute_reply": "2022-04-22T12:44:08.376179Z" - }, - "papermill": { - "duration": 0.096743, - "end_time": "2022-04-22T12:44:08.384175", - "exception": false, - "start_time": "2022-04-22T12:44:08.287432", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.553799Z", - "iopub.status.busy": "2022-04-22T12:44:08.553267Z", - "iopub.status.idle": "2022-04-22T12:44:08.562016Z", - "shell.execute_reply": "2022-04-22T12:44:08.560801Z" - }, - "papermill": { - "duration": 0.099945, - "end_time": "2022-04-22T12:44:08.568313", - "exception": false, - "start_time": "2022-04-22T12:44:08.468368", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.737052Z", - "iopub.status.busy": "2022-04-22T12:44:08.736559Z", - "iopub.status.idle": "2022-04-22T12:44:08.743550Z", - "shell.execute_reply": "2022-04-22T12:44:08.742390Z" - }, - "papermill": { - "duration": 0.0975, - "end_time": "2022-04-22T12:44:08.750061", - "exception": false, - "start_time": "2022-04-22T12:44:08.652561", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_with_shape_restrain\",\n", - " shape_restrain=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.919949Z", - "iopub.status.busy": "2022-04-22T12:44:08.919453Z", - "iopub.status.idle": "2022-04-22T12:48:14.312186Z", - "shell.execute_reply": "2022-04-22T12:48:14.310828Z" - }, - "papermill": { - "duration": 245.482475, - "end_time": "2022-04-22T12:48:14.316530", - "exception": false, - "start_time": "2022-04-22T12:44:08.834055", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp195pmphc.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a33d\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_with_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "papermill": { - "duration": 0.092619, - "end_time": "2022-04-22T12:48:14.513581", - "exception": false, - "start_time": "2022-04-22T12:48:14.420962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:14.700495Z", - "iopub.status.busy": "2022-04-22T12:48:14.700013Z", - "iopub.status.idle": "2022-04-22T12:48:14.707771Z", - "shell.execute_reply": "2022-04-22T12:48:14.706234Z" - }, - "papermill": { - "duration": 0.11713, - "end_time": "2022-04-22T12:48:14.722962", - "exception": false, - "start_time": "2022-04-22T12:48:14.605832", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": { - "papermill": { - "duration": 0.091465, - "end_time": "2022-04-22T12:48:14.910458", - "exception": false, - "start_time": "2022-04-22T12:48:14.818993", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.097746Z", - "iopub.status.busy": "2022-04-22T12:48:15.096823Z", - "iopub.status.idle": "2022-04-22T12:48:15.107376Z", - "shell.execute_reply": "2022-04-22T12:48:15.105388Z" - }, - "papermill": { - "duration": 0.112501, - "end_time": "2022-04-22T12:48:15.115150", - "exception": false, - "start_time": "2022-04-22T12:48:15.002649", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.306139Z", - "iopub.status.busy": "2022-04-22T12:48:15.305554Z", - "iopub.status.idle": "2022-04-22T12:48:15.314882Z", - "shell.execute_reply": "2022-04-22T12:48:15.313611Z" - }, - "papermill": { - "duration": 0.112318, - "end_time": "2022-04-22T12:48:15.322503", - "exception": false, - "start_time": "2022-04-22T12:48:15.210185", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.509034Z", - "iopub.status.busy": "2022-04-22T12:48:15.508490Z", - "iopub.status.idle": "2022-04-22T12:48:15.515625Z", - "shell.execute_reply": "2022-04-22T12:48:15.514369Z" - }, - "papermill": { - "duration": 0.114755, - "end_time": "2022-04-22T12:48:15.527140", - "exception": false, - "start_time": "2022-04-22T12:48:15.412385", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"mcs\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.706569Z", - "iopub.status.busy": "2022-04-22T12:48:15.706036Z", - "iopub.status.idle": "2022-04-22T12:48:28.255865Z", - "shell.execute_reply": "2022-04-22T12:48:28.254307Z" - }, - "papermill": { - "duration": 12.650388, - "end_time": "2022-04-22T12:48:28.260543", - "exception": false, - "start_time": "2022-04-22T12:48:15.610155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "12.5 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": { - "papermill": { - "duration": 0.09428, - "end_time": "2022-04-22T12:48:28.450651", - "exception": false, - "start_time": "2022-04-22T12:48:28.356371", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.637022Z", - "iopub.status.busy": "2022-04-22T12:48:28.636470Z", - "iopub.status.idle": "2022-04-22T12:48:28.644342Z", - "shell.execute_reply": "2022-04-22T12:48:28.643210Z" - }, - "papermill": { - "duration": 0.111127, - "end_time": "2022-04-22T12:48:28.651027", - "exception": false, - "start_time": "2022-04-22T12:48:28.539900", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.845504Z", - "iopub.status.busy": "2022-04-22T12:48:28.845038Z", - "iopub.status.idle": "2022-04-22T12:48:35.771910Z", - "shell.execute_reply": "2022-04-22T12:48:35.770052Z" - }, - "papermill": { - "duration": 7.030486, - "end_time": "2022-04-22T12:48:35.777474", - "exception": false, - "start_time": "2022-04-22T12:48:28.746988", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "6.91 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": { - "papermill": { - "duration": 0.109259, - "end_time": "2022-04-22T12:48:35.999854", - "exception": false, - "start_time": "2022-04-22T12:48:35.890595", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.214398Z", - "iopub.status.busy": "2022-04-22T12:48:36.214006Z", - "iopub.status.idle": "2022-04-22T12:48:36.220133Z", - "shell.execute_reply": "2022-04-22T12:48:36.218938Z" - }, - "papermill": { - "duration": 0.117177, - "end_time": "2022-04-22T12:48:36.225641", - "exception": false, - "start_time": "2022-04-22T12:48:36.108464", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"schrodinger_shape\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.413598Z", - "iopub.status.busy": "2022-04-22T12:48:36.413122Z", - "iopub.status.idle": "2022-04-22T12:49:13.177974Z", - "shell.execute_reply": "2022-04-22T12:49:13.176657Z" - }, - "papermill": { - "duration": 36.934558, - "end_time": "2022-04-22T12:49:13.237887", - "exception": false, - "start_time": "2022-04-22T12:48:36.303329", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "perl: warning: Setting locale failed.\n", - "perl: warning: Please check that your locale settings:\n", - "\tLANGUAGE = (unset),\n", - "\tLC_ALL = (unset),\n", - "\tLC_NUMERIC = \"C\",\n", - "\tLC_TIME = \"C\",\n", - "\tLANG = \"C.UTF-8\"\n", - " are supported and installed on your system.\n", - "perl: warning: Falling back to the standard locale (\"C\").\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a42c\n" - ] - }, - { - "data": { - "text/plain": [ - "('4YPS', 'A', '4F6')" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "36.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": { - "papermill": { - "duration": 0.070175, - "end_time": "2022-04-22T12:49:13.378873", - "exception": false, - "start_time": "2022-04-22T12:49:13.308698", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Using shape is the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": { - "papermill": { - "duration": 0.075498, - "end_time": "2022-04-22T12:49:13.525566", - "exception": false, - "start_time": "2022-04-22T12:49:13.450068", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and SCHRODINGERDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `SCHRODINGERDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.676030Z", - "iopub.status.busy": "2022-04-22T12:49:13.675636Z", - "iopub.status.idle": "2022-04-22T12:49:13.680713Z", - "shell.execute_reply": "2022-04-22T12:49:13.679784Z" - }, - "papermill": { - "duration": 0.085693, - "end_time": "2022-04-22T12:49:13.686294", - "exception": false, - "start_time": "2022-04-22T12:49:13.600601", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.836671Z", - "iopub.status.busy": "2022-04-22T12:49:13.836303Z", - "iopub.status.idle": "2022-04-22T12:49:13.843030Z", - "shell.execute_reply": "2022-04-22T12:49:13.842117Z" - }, - "papermill": { - "duration": 0.086812, - "end_time": "2022-04-22T12:49:13.848122", - "exception": false, - "start_time": "2022-04-22T12:49:13.761310", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.994697Z", - "iopub.status.busy": "2022-04-22T12:49:13.994319Z", - "iopub.status.idle": "2022-04-22T12:49:14.000894Z", - "shell.execute_reply": "2022-04-22T12:49:13.999895Z" - }, - "papermill": { - "duration": 0.084522, - "end_time": "2022-04-22T12:49:14.005754", - "exception": false, - "start_time": "2022-04-22T12:49:13.921232", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " SCHRODINGERDockingFeaturizer(output_dir=\"output/docking_pipeline\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:14.180826Z", - "iopub.status.busy": "2022-04-22T12:49:14.180303Z", - "iopub.status.idle": "2022-04-22T12:53:25.625018Z", - "shell.execute_reply": "2022-04-22T12:53:25.623299Z" - }, - "papermill": { - "duration": 251.550071, - "end_time": "2022-04-22T12:53:25.628872", - "exception": false, - "start_time": "2022-04-22T12:49:14.078801", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp5xoq3zd9.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a474\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_pipeline/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4YNE_chainA_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:25.858694Z", - "iopub.status.busy": "2022-04-22T12:53:25.858145Z", - "iopub.status.idle": "2022-04-22T12:53:25.869178Z", - "shell.execute_reply": "2022-04-22T12:53:25.867157Z" - }, - "papermill": { - "duration": 0.141015, - "end_time": "2022-04-22T12:53:25.881014", - "exception": false, - "start_time": "2022-04-22T12:53:25.739999", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, SCHRODINGERDockingFeaturizer])': }" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "77db9232-360d-40ee-8b2f-640eaf6bdc1a", - "metadata": { - "papermill": { - "duration": 0.118895, - "end_time": "2022-04-22T12:53:26.116629", - "exception": false, - "start_time": "2022-04-22T12:53:25.997734", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "f680e950-d0e2-43ce-9bad-2da70a94bde5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.316324Z", - "iopub.status.busy": "2022-04-22T12:53:26.315796Z", - "iopub.status.idle": "2022-04-22T12:53:26.323998Z", - "shell.execute_reply": "2022-04-22T12:53:26.322084Z" - }, - "papermill": { - "duration": 0.142074, - "end_time": "2022-04-22T12:53:26.335796", - "exception": false, - "start_time": "2022-04-22T12:53:26.193722", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "e14082da-b8f1-477a-8bcd-810936e07e72", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.498935Z", - "iopub.status.busy": "2022-04-22T12:53:26.498655Z", - "iopub.status.idle": "2022-04-22T12:53:26.502381Z", - "shell.execute_reply": "2022-04-22T12:53:26.501621Z" - }, - "papermill": { - "duration": 0.051614, - "end_time": "2022-04-22T12:53:26.506129", - "exception": false, - "start_time": "2022-04-22T12:53:26.454515", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "f558ef87-b33e-4bd1-a474-b13e90e69195", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.641764Z", - "iopub.status.busy": "2022-04-22T12:53:26.641485Z", - "iopub.status.idle": "2022-04-22T12:53:26.646318Z", - "shell.execute_reply": "2022-04-22T12:53:26.645636Z" - }, - "papermill": { - "duration": 0.101318, - "end_time": "2022-04-22T12:53:26.649838", - "exception": false, - "start_time": "2022-04-22T12:53:26.548520", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "b7fcc40c-b3f3-4451-9f8d-501f27328f32", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.809639Z", - "iopub.status.busy": "2022-04-22T12:53:26.809016Z", - "iopub.status.idle": "2022-04-22T12:53:26.817480Z", - "shell.execute_reply": "2022-04-22T12:53:26.816124Z" - }, - "papermill": { - "duration": 0.133854, - "end_time": "2022-04-22T12:53:26.827113", - "exception": false, - "start_time": "2022-04-22T12:53:26.693259", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "7a7489c6-d564-4285-b5d6-b8cb510d68f3", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.923066Z", - "iopub.status.busy": "2022-04-22T12:53:26.922585Z", - "iopub.status.idle": "2022-04-22T12:57:20.443875Z", - "shell.execute_reply": "2022-04-22T12:57:20.443023Z" - }, - "papermill": { - "duration": 233.591896, - "end_time": "2022-04-22T12:57:20.470472", - "exception": false, - "start_time": "2022-04-22T12:53:26.878576", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "ed84f951-689a-4d8d-b2b9-c5eda645f624", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:57:20.676917Z", - "iopub.status.busy": "2022-04-22T12:57:20.676448Z", - "iopub.status.idle": "2022-04-22T12:57:20.726850Z", - "shell.execute_reply": "2022-04-22T12:57:20.725753Z" - }, - "papermill": { - "duration": 0.158403, - "end_time": "2022-04-22T12:57:20.730863", - "exception": false, - "start_time": "2022-04-22T12:57:20.572460", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - }, - "papermill": { - "default_parameters": {}, - "duration": 1121.080541, - "end_time": "2022-04-22T12:57:22.293896", - "environment_variables": {}, - "exception": null, - "input_path": "Schrodinger_structural_featurizer.ipynb", - "output_path": "Schrodinger_structural_featurizer_out.ipynb", - "parameters": {}, - "start_time": "2022-04-22T12:38:41.213355", - "version": "2.2.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/getting_started.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/getting_started.ipynb deleted file mode 100644 index e27280aa..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/getting_started.ipynb +++ /dev/null @@ -1,536 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e5390669-0749-4d13-ad3c-b85d83de133d", - "metadata": {}, - "source": [ - "# Getting started with KinoML" - ] - }, - { - "cell_type": "markdown", - "id": "993294ab-4c7f-4cdd-8987-b6dfdd07ff21", - "metadata": {}, - "source": [ - "## Introduction\n", - "\n", - "KinoML is a modular and extensible framework for kinase modelling and machine learning. KinoML can be used to obtain data from online and in-house data sources and to featurize data so that it is ML-readable. KinoML also allows users to easily run ML experiments with KinoML's implemented models. \n", - "\n", - "\n", - "In this notebook you will learn how to install KinoML and how to:\n", - "1. Obtain your dataset from ChEMBL\n", - "2. Featurize this data\n", - "3. Train and test a simple Support Vector Classifier (SVC) ML model with your featurized data \n", - "\n", - "And KinoML allows you to do this with just a few lines of code!\n", - "\n", - "For more extensive examples and tutorials have a look at the other notebooks in the [KinoML documentation](https://openkinome.org/kinoml/index.html) or at the [experiments-binding-affnity](https://github.com/openkinome/experiments-binding-affinity) repository.\n", - "\n", - "The [KinoML documentation](https://openkinome.org/kinoml/api/kinoml/index.html) also allows browsing the API." - ] - }, - { - "cell_type": "markdown", - "id": "d0af316a", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/fig_1_kinomltechpaper_v2.png) \n", - "**Fig. 1:** KinoML workflow overview. Colors represent objects that belong to the same class." - ] - }, - { - "cell_type": "markdown", - "id": "9e34e009-8830-4f87-ace3-6a0e310a49ba", - "metadata": {}, - "source": [ - "## Installation\n", - "\n", - "KinoML can be easily installed using conda/mamba. We highly encourage using mamba instead of conda to speed up the installation.\n", - "\n", - "```\n", - "mamba create -n kinoml --no-default-packages\n", - "mamba env update -n kinoml -f https://raw.githubusercontent.com/openkinome/kinoml/master/devtools/conda-envs/test_env.yaml\n", - "conda activate kinoml\n", - "pip install https://github.com/openkinome/kinoml/archive/master.tar.gz\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "f7bef85f-88d1-45a8-9665-89c1441e2c9a", - "metadata": {}, - "source": [ - "## Basic example\n", - "\n", - "KinoML has a strong focus on kinases, but can be applied to other proteins, if the appropriate code is written. However, the work on kinases is the easiest, since we provide cleaned kinase datasets for ChEMBL and PKIS2, which are hosted at the [kinodata](https://github.com/openkinome/kinodata) repository." - ] - }, - { - "cell_type": "markdown", - "id": "4e1efa1d-e330-4a54-9285-b61affce4f70", - "metadata": {}, - "source": [ - "## 1. Obtaining your data\n", - "\n", - "### DatasetProvider\n", - "\n", - "KinoML's `DatasetProvider` allows users to easily access and filter datasets. The user can specify the url of the csv file they are interested in or can use the default (as done in the example below). There are different types of `DatasetProvider` incorporated into KinoML. The one used in this notebook is `ChEMBLDatasetProvider`, which allows users to use ChEMBL datasets and filter them by specifying the measurement type (\"pIC50\", \"pKi\", \"pKd\") and kinase uniprotID.\n", - "\n", - "`DatasetProvider` outputs a lists of `measurement` values, and each of them will be associated to their corresponding `system`, which is formed by a protein and a ligand. Also, the `measurement` objects also have `Metadata` and `AssayConditions` associated to it, which contains information on how this measurement was obtained. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9234fe09-2ccc-4640-b4eb-c7a7dfa83902", - "metadata": {}, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "from kinoml.datasets.chembl import ChEMBLDatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "2bcc50be-a86b-4531-b282-33808d0f8597", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9b7bbc773b8461caa2e48726300de15", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider = ChEMBLDatasetProvider.from_source(\n", - " measurement_types=[\"pIC50\"], #selecting measurement type\n", - " uniprot_ids=[\"P00533\"], #kinase of interest\n", - " sample=1000, #number of samples you want to work with\n", - ")\n", - "chembl_provider" - ] - }, - { - "cell_type": "markdown", - "id": "eaa9ddbe-adc7-4361-87a3-52d212beceba", - "metadata": {}, - "source": [ - "Just looking at the output, we can see that there are 1000 measurements, but only 986 systems. This means there are duplicates in the `measurements`. Ideally we would delete these duplicated entries, but since this notebook just wants to show a quick example, we will leave this for the other notebooks. Let's continue and have a look at the first measurement and the stored information." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e86e578e-83cf-4485-ab58-0d32c0f6a88f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "208d081f-dcd4-4eba-81fd-5f4f2bd6ff45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([5.13076828])" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].values" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0f45a7b1-49ba-4c89-89ba-655b7f232725", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a8c2aae5-f420-4af1-bc46-44b8ebb7e70b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e22d6649-7df9-4cbd-8bbd-3506c080799a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.protein" - ] - }, - { - "cell_type": "markdown", - "id": "ff82aa40-141d-457e-aaee-c783a5b33092", - "metadata": {}, - "source": [ - "As explained above, each measurement comes with a `values` array representing the activity values for this measurement, which can be considered the typical `y` we want to predict in an ML experiment. The `system` object contains relevant information about `protein` and `ligand` for this measurement. The `system` information is typically `X` in an ML experiment, but is not yet in a machine-friendly format." - ] - }, - { - "cell_type": "markdown", - "id": "7fa6c5d4-4905-4829-9220-c4d0068d6a3f", - "metadata": {}, - "source": [ - "## 2. Featurize your data\n", - "\n", - "### Featurizer\n", - "\n", - "To get the `X` (`system` information) in a machine-friendly format, KinoML uses so called featurizers, which encode the information of each system. KinoML has different featurizers implemented. In this notebook we will use the `MorganFingerprintFeaturizer`. We are going to iterate this featurizer over all `systems` and transform the `ligand` into a bit vector. All performed featurizations are commonly stored in the `featurizations` attribute of each system. The `last` performed featurization is stored additionally for easy access." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "9ab37164-03d6-4d14-ab09-84aab5a59647", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2f2adcbc-e023-4f47-8153-5bead1d46d5a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1])}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "chembl_provider.featurize(MorganFingerprintFeaturizer())\n", - "chembl_provider.measurements[0].system.featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "59213746-f142-4180-95f1-6cc6278a857c", - "metadata": {}, - "source": [ - "For more details on the KinoML object model have a look at the respective [notebook](https://openkinome.org/kinoml/notebooks/kinoml_object_model.html)." - ] - }, - { - "cell_type": "markdown", - "id": "5b7a46bc-c0c5-4e07-ad89-9e38d79d07f6", - "metadata": {}, - "source": [ - "## 3. ML model training and testing\n", - "\n", - "### ML training and testing\n", - "\n", - "Great, we have used KinoML to first obtain the data we wanted to work with, and then to featurize this data and make it ML readable. Now that we have `X` and `y`, we can run a small ML experiment. In this case, we will train a [support vector classifier](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) from sklearn. " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "e42ca7cc-169a-4d58-80c1-5e70f49a4f4e", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from sklearn.svm import SVC\n", - "from sklearn.metrics import roc_curve, roc_auc_score\n", - "from sklearn.model_selection import train_test_split" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "f59696aa-3df2-4e96-9b6c-f41c74462ed9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0\n", - " 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0\n", - " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0\n", - " 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0\n", - " 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]\n", - "5.1307683\n" - ] - } - ], - "source": [ - "# get data from provider\n", - "X, y = chembl_provider.to_numpy()[0]\n", - "print(X[0])\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "4cd5bc35-10c3-4918-a9db-e8d185334d38", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# binarize activity values\n", - "y = (y > 7).astype(int)\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "e78e1041-38ed-4e71-aa73-804fb83e6cda", - "metadata": {}, - "outputs": [], - "source": [ - "# split data into train and test sets\n", - "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "78eb6620-7955-4a97-8cad-2fc3fe8f9724", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "SVC(probability=True)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# train the support vector classifier\n", - "svc = SVC(probability=True)\n", - "svc.fit(x_train, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "4188955c-ef1f-4795-8e62-560958bcdfa2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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GTOGChUq+DssY4yP2HqO5jQnTpxg586dXHzxxQC8/PLLtG3blttuu83PkRljfO1s90FYP0IRsnz5curVq8ett97KsWPHALjgggssORhTROWZIFQ10leBGP85cuQICQkJNGjQgDVr1pCens727dv9HZYxxs98tviviJQTkbkiclhEtolIp1zKdRWRX0UkVUR2iMiLImJdYV7y7bffUrt2bUaPHg3AU089xapVq7j88sv9HJkxxt98uTr8WOAEUAnoDIwXkVpuypUC+gMVgPpAcyDBRzEWKU8//TTNmjXjzz//pHbt2ixbtowXX3yRUqVsmQ9jjI8ShIhEAG2B51T1kKouBj4D7stZVlXHq+qPqnpCVXcCMwC7TdcLrrrqKsLCwhg6dCgrVqwgPj7e3yEZYwKIr7puagDpqrox27ZVQFMPjr0BWOtuh4j0BHoCxMb6bkqomcuS+PS3nWctt253KnFVonwQkWf27t3LkiVLuOuuuwDo3LkzjRs3zrpiyRhjsvNVF1NpICXHthQgz0FwEXkQiAdedrdfVSeoaryqxkdHRxdIoJ749LedrNudetZycVWiuKvuhT6IKG+qysyZM7nyyitp374969evB5z7HCw5GGNy46sWxCEg50/pKCAttwNEpA0wEmihqvu8F9q5iasSxexeDf0dxllt376dPn36MH/+fACaN29ui/gUAhkZGezYsYPDhw/7OxQTBCIiIrjooosICclfm8BXCWIjECoil2dbprQOuXcd3QJMBG5X1dU+irFQycjIYOLEiTz11FOkpaVRpkwZXnnlFR588EGbJqMQ2LdvHyJCzZo18/0/vSlaMjIy2LlzJ/v27aNixYr5OtYnnyxVPQx8DAwVkQgRaQzcBUzPWVZEmuEMTLdV1V98EV9hNGDAAHr37k1aWhpt2rRh3bp1dOvWzZJDIXHw4EEqVapkycGcVUhICJUqVSIlJWcvvwfHeiGe3PQFSgJ/4awx0UdV14pIrIgcEpHMUebngDLAv13bD4nIFz6Ms1Do1asX1atX54MPPuDjjz8mJibG3yGZApSenk5YmC3waDwTFhbGqVOn8n2cz25AU9UDQBs325NwBrEzX9/kq5gKk//+979MmTKFV199FRHhsssuY9OmTYSG2j2GhZW1Bo2nzvWzYu3TIHf8+HGef/556tWrx5gxY3jvvfey9llyMMacD/sGCWI///wz3bt3Z926dQD069ePNm3a+DcoY0yhYS2IIHT48GEef/xxGjVqxLp166hRowY//PADb775JpGRNr+i8a/FixfTqFEjypQpQ7ly5WjcuDHLly9n6dKlREREkJZ25tXt//jHP3jzzTcBZ8r5wYMHc/nllxMREUH16tXp1q0bW7duPa+4Bg8ejIjwyy+/nLG9S5cuZ5QXETZv3pz1esGCBdxwww1ERkYSHR1N06ZN+eyzz/Idx8yZM6lWrRoRERG0adOGAwcOuC2XlJRE6dKlT3uISNa8aarKsGHDiI2NJSoqio4dO5Kaevb7s/LDEkQQevvtt3nttdcICQnh6aefZtWqVTRp0sTfYRlDamoqd9xxB4888ggHDhxg586dJCYmEh4eTsOGDbnooouYM2fOacesWbOGdevWce+99wLQrl07PvvsM2bOnElKSgqrVq2iXr16fPPNN+ccl6oyffp0ypUrx7vvvpvv4z/66CPuuece7r//fnbs2EFycjJDhw5l3rx5+XqftWvX0qtXL6ZPn05ycjKlSpWib9++bsvGxsZy6NChrMfq1asJCQmhbdu2AEybNo3p06fz008/sWvXLo4ePcojjzyS77rlSVULxaNevXrqK+3fWqLt31ris/OpqmZkZGQ9P378uHbq1El//fVXn8ZgAse6dev8HYJby5cv1zJlyuS6f9iwYXrTTTedtu2pp57Su+++W1VVFy5cqCVKlNCkpKQCjev777/XEiVK6PTp07VcuXJ6/PjxrH2JiYnauXPnM44BdNOmTZqRkaFVq1bVF1988bzjeOaZZ/Tee+/Ner1582YNCwvT1NTUsx47ePBgvfHGG7Net23b9rSYfvrpJw0PD9fDhw+7PT63zwywQnP5XrUxiCDwySefMHjwYL7++msqVKhA8eLFmTFjhr/DMgFiyLy1rNtVsF0LOcXFRJHY2t3ky6erUaMGxYoVo2vXrnTs2JEGDRpwwQUXZO2/7777SExMJCkpidjYWDIyMpg5c2ZW99LXX3/NddddR9WqVQs0/nfffZfWrVvToUMHHnvsMT7//HP+7//+z6NjN2zYwPbt22nXrl2uZRYvXswdd9yR6/7PP/+c66+/nrVr19KoUaOs7ZdeeinFixdn48aN1KtXL884pk2bxnPPPZf1OvNLPPvr48ePs2nTJurUqeNJ1c7KupgC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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# get the ROC curve including AUC\n", - "y_test_pred = svc.predict(x_test)\n", - "svc_roc_auc = roc_auc_score(y_test, y_test_pred)\n", - "fpr, tpr, thresholds = roc_curve(y_test, svc.predict_proba(x_test)[:,1])\n", - "plt.plot(fpr, tpr, label=f'SVC - AUC={round(svc_roc_auc,2)}')\n", - "plt.xlim([-0.05, 1.05])\n", - "plt.ylim([-0.05, 1.05])\n", - "plt.plot([0, 1], [0, 1], linestyle='--', label='Random', lw=2, color=\"black\") # Random curve\n", - "plt.xlabel('False positive rate', size=12)\n", - "plt.ylabel('True positive rate', size=12)\n", - "plt.tick_params(labelsize=12)\n", - "plt.legend(fontsize=12)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "66d33f5a-a680-425a-a86c-d3c0d8ae4f05", - "metadata": {}, - "source": [ - "For more advanced examples have a look at the [experiments-binding-affinity](https://github.com/openkinome/experiments-binding-affinity) repository." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb deleted file mode 100644 index 59edab18..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb +++ /dev/null @@ -1,8183 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer` and `kinoml.features.protein.AminoAcidCompositionFeaturizer` which means that we will use the ligand and protein information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ],\n", - " \"kinase\": [[\"kinoml.features.protein.AminoAcidCompositionFeaturizer\", {}]],\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:18:57.807233\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "808b3397449e46929074b8d4fa756ae3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.AminoAcidCompositionFeaturizer` with options `{}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:19:47.801843\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:19:47.813247+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:19:47 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 66C P8 22W / 80W | 49MiB / 16384MiB | 15% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:19:56.953210\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "ModelCls = import_object(MODEL_CLS)\n", - "\n", - "# Note that we assume all dataloaders will provide the\n", - "# same kind of input shape, so we onlt test on one\n", - "if ModelCls.needs_input_shape:\n", - " a_dataloader = dataloaders[next(iter(dataloaders.keys()))][\"train\"]\n", - " x_sample, _ = next(iter(a_dataloader))\n", - " MODEL_KWARGS[\"input_shape\"] = ModelCls.estimate_input_shape(x_sample)\n", - "\n", - "nn_model = ModelCls(**MODEL_KWARGS)\n", - "\n", - "optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)\n", - "loss_function = import_object(LOSS)()\n", - "\n", - "if VALIDATION:\n", - " lr_scheduler = LRScheduler(optimizer)\n", - " early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)\n", - "\n", - "train_loss_timeseries = []\n", - "val_loss_timeseries = []\n", - "\n", - "range_epochs = trange(MAX_EPOCHS, desc=\"Epochs\")\n", - "for epoch in range_epochs:\n", - " train_loss = 0.0\n", - " val_loss = 0.0\n", - " for key, loader in tqdm(dataloaders.items(), desc=\"Datasets\", leave=False):\n", - " try:\n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " loss_adapter = mtype_class.loss_adapter(backend=\"pytorch\")\n", - " \n", - " # TRAIN\n", - " nn_model.train()\n", - " for x, y in tqdm(loader[\"train\"], desc=\"Minibatches\", leave=False):\n", - " # Clear gradients\n", - " optimizer.zero_grad()\n", - " # Obtain model prediction given model input\n", - " prediction = nn_model(x)\n", - " # apply observation model\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " # Pred. must match y shape! ^^^^^^^^^^\n", - " # Obtain loss for the predicted output\n", - " train_loss += loss.item()\n", - " # Gradients w.r.t. parameters\n", - " loss.backward()\n", - " # Optimize\n", - " optimizer.step()\n", - " \n", - " \n", - " # VALIDATE\n", - " if VALIDATION:\n", - " nn_model.eval()\n", - " with torch.no_grad():\n", - " for x, y in tqdm(loader[\"val\"], desc=\"Minibatches\", leave=False):\n", - " prediction = nn_model(x).view_as(y)\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " val_loss += loss.item()\n", - " range_epochs.set_description(f\"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})\")\n", - " \n", - " # LOG LOSSES\n", - " train_loss_timeseries.append(train_loss)\n", - " \n", - " if VALIDATION:\n", - " val_loss_timeseries.append(val_loss)\n", - "\n", - " # Adjust training if needed\n", - " lr_scheduler(val_loss)\n", - " early_stopping(val_loss)\n", - " if early_stopping.early_stop:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Save model to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "torch.save(nn_model, OUT / \"nn_model.pt\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Evaluate model" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1517±0.0156 95CI=(0.1304, 0.1815)\n", - " MSE: 0.0405±0.0118 95CI=(0.0268, 0.0615)\n", - " R2: 0.9755±0.0085 95CI=(0.9592, 0.9863)\n", - "RMSE: 0.1992±0.0284 95CI=(0.1637, 0.2481)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1656±0.0273 95CI=(0.1315, 0.2145)\n", - " MSE: 0.0552±0.0213 95CI=(0.0285, 0.0928)\n", - " R2: 0.9643±0.0180 95CI=(0.9329, 0.9850)\n", - "RMSE: 0.2306±0.0444 95CI=(0.1689, 0.3046)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1420±0.0165 95CI=(0.1117, 0.1626)\n", - " MSE: 0.0278±0.0053 95CI=(0.0188, 0.0354)\n", - " R2: 0.9825±0.0058 95CI=(0.9709, 0.9899)\n", - "RMSE: 0.1661±0.0158 95CI=(0.1372, 0.1881)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1714±0.0509 95CI=(0.1068, 0.2590)\n", - " MSE: 0.1316±0.1039 95CI=(0.0179, 0.2765)\n", - " R2: 0.9044±0.0820 95CI=(0.7492, 0.9884)\n", - "RMSE: 0.3301±0.1505 95CI=(0.1338, 0.5255)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1131±0.0241 95CI=(0.0756, 0.1492)\n", - " MSE: 0.0230±0.0090 95CI=(0.0098, 0.0375)\n", - " R2: 0.9742±0.0188 95CI=(0.9458, 0.9931)\n", - "RMSE: 0.1486±0.0307 95CI=(0.0988, 0.1936)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1971±0.0956 95CI=(0.0988, 0.3567)\n", - " MSE: 0.1763±0.2036 95CI=(0.0145, 0.4992)\n", - " R2: 0.8773±0.1545 95CI=(0.5845, 0.9927)\n", - "RMSE: 0.3484±0.2344 95CI=(0.1205, 0.7065)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0986±0.0028 95CI=(0.0949, 0.1041)\n", - " MSE: 0.0232±0.0022 95CI=(0.0197, 0.0271)\n", - " R2: 0.9886±0.0011 95CI=(0.9868, 0.9905)\n", - "RMSE: 0.1521±0.0072 95CI=(0.1405, 0.1645)\n" - ] - }, - { - "data": { - "image/png": "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Q2sblvz+OH0MERE5hAp/D42IiBwDA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA43IjiQkJKBp06aa98OHD8eLL75o9TquXbsGmUyG06dPW33fRPow0IjM4Nmp511dXVG7dm28++67Rs0MXh6LFy/GypUrjWrLECJHx+ljiMwkOjoaK1asQEFBAfbv34833ngDubm5WLp0qVa7goICsw2ErFAozLIdIkfAMzQiM5HL5VAqlQgJCcGgQYMwePBgbNiwQXOZcPny5ahduzbkcjmEEMjOzsabb74Jf39/+Pj4oEuXLvjtt9+0tjl37lwEBATA29sbI0eORF5entbnxS85qlQqzJs3D3Xr1oVcLkeNGjUwZ84cANDMtNCsWTPIZDJ06tRJs96KFSvQsGFDuLu7IywsrMQcXceOHUOzZs3g7u6Oli1bSnrGZKq4eIZGZCEeHh4oKCgAAFy+fBn/+9//sHbtWjg7OwMAevfuDV9fX2zZsgUKhQJffvklunbtiosXL8LX1xf/+9//EB8fj88//xzPP/88vv32W3z66aeoXbu23n1OmzYNy5Ytw8KFC9G+fXukp6fjjz/+APA0lFq1aoUdO3agUaNGcHNzAwAsW7YM8fHxSEpKQrNmzXDq1CmMGjUKXl5eiI2NRW5uLvr06YMuXbpg9erVSE1NxcSJEy380yMygUlDGhORltjYWPHCCy9o3h89elT4+fmJgQMHivj4eOHq6ioyMzM1n+/cuVP4+PiIvLw8re3UqVNHfPnll0IIIaKiosRbb72l9Xnr1q1FkyZNdO43JydHyOVysWzZMp01qkd7P3XqlNbykJAQsWbNGq1lH330kYiKihJCCPHll18KX19fkZubq/l86dKlOrdFZEu85EhkJj///DMqVaoEd3d3REVFoUOHDvjss88AADVr1kS1atU0bU+ePImHDx/Cz88PlSpV0rxSU1Nx5coVAMD58+cRFRWltY/i7591/vx55Ofno2vXrkbXfOfOHaSlpWHkyJFadcyePVurjiZNmsDT09OoOohshZccicykc+fOWLp0KVxdXREUFKTV8cPLy0urrUqlQmBgIPbs2VNiO5UrVzZp/x4eHmVeR6VSAXh62bF169Zan6kvjQrOMEV2goFGZCZeXl6oW7euUW2bN2+OjIwMuLi4oFatWjrbNGzYEEeOHMGwYcM0y44cOaJ3m/Xq1YOHhwd27tyJN954o8Tn6ntmRUVFmmUBAQEIDg7G1atXMXjwYJ3bDQ8Px7fffovHjx9rQtNQHUS2wkuORDbQrVs3REVF4cUXX8Svv/6Ka9eu4dChQ5g+fTpOnDgBAJg4cSKWL1+O5cuX4+LFi4iPj8e5c+f0btPd3R1TpkzBe++9h3//+9+4cuUKjhw5gm+++QYA4O/vDw8PD2zduhV//vknsrOzATx9WDsxMRGLFy/GxYsXcebMGaxYsQILFiwAAAwaNAhOTk4YOXIkUlJSsGXLFnzyyScW/gkRlR0DjcgGZDIZtmzZgg4dOuD1119H/fr18eqrr+LatWsICAgAALzyyiuYOXMmpkyZghYtWuD69esYM2aMwe3OmDEDkydPxsyZM9GwYUO88soryMzMBAC4uLjg008/xZdffomgoCC88MILAIA33ngDX3/9NVauXInIyEh07NgRK1eu1HTzr1SpEjZt2oSUlBQ0a9YMH3zwAebNm2fBnw6RaWSCF8iJiMgB8AyNiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcwv8DrR4MUvP4LasAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0958±0.0037 95CI=(0.0894, 0.1012)\n", - " MSE: 0.0209±0.0031 95CI=(0.0168, 0.0264)\n", - " R2: 0.9897±0.0015 95CI=(0.9866, 0.9917)\n", - "RMSE: 0.1443±0.0103 95CI=(0.1297, 0.1625)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1014±0.0042 95CI=(0.0942, 0.1081)\n", - " MSE: 0.0250±0.0030 95CI=(0.0210, 0.0307)\n", - " R2: 0.9876±0.0015 95CI=(0.9852, 0.9898)\n", - "RMSE: 0.1579±0.0093 95CI=(0.1450, 0.1752)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.AminoAcidCompositionFeaturizer\",\n", - " {}\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8edabf6700>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8f1c8dfdc0>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ..., 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 1024,\n", - " 20\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1713540.0508820.1316020.1038630.9044250.0820380.3301010.150450
test0.1131240.0241330.0230220.0090330.9742140.0188320.1485860.030724
val0.1971480.0956390.1763050.2036290.8773300.1544570.3483690.234402
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.0986230.0027750.0231800.0021910.9885600.0011480.1520800.007163
test0.0957730.0037270.0209170.0030520.9896840.0015410.1442600.010307
val0.1014490.0042100.0250050.0029570.9876120.0015110.1578570.009277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1517230.0155510.0404710.0118480.9755260.0084650.1991620.028375
test0.1656390.0273110.0551620.0213140.9643200.0179500.2306250.044431
val0.1420100.0164600.0278290.0052510.9824790.0057890.1660690.015818
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:22:14.451640\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:22:14.457489+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "torch : 2.1.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:22:14 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 67C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb deleted file mode 100644 index daafb939..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb +++ /dev/null @@ -1,13737 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer` to featurize the ligand and `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` to featurize the kinase. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. Step 1 of this notebook provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ],\n", - " \"kinase\": [\n", - " [\"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:06:10.080592\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "adadc5d0bc3e4e14bbadcd1f6526f9cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#make sure you have your open eye license in the same directory as your notebook!\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\") #your measurement groups!" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:07:39.583477\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:07:39.592225+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:07:39 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 19% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:08:03.674800\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4125cc94fb814463903146077884beb8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2532±0.0440 95CI=(0.1840, 0.3351)\n", - " MSE: 0.1022±0.0268 95CI=(0.0617, 0.1525)\n", - " R2: 0.9303±0.0414 95CI=(0.8451, 0.9739)\n", - "RMSE: 0.3168±0.0428 95CI=(0.2484, 0.3905)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2502±0.0478 95CI=(0.1741, 0.3270)\n", - " MSE: 0.0899±0.0248 95CI=(0.0481, 0.1287)\n", - " R2: 0.9256±0.0927 95CI=(0.7208, 0.9744)\n", - "RMSE: 0.2965±0.0442 95CI=(0.2193, 0.3587)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2407±0.0668 95CI=(0.1341, 0.3498)\n", - " MSE: 0.1029±0.0430 95CI=(0.0386, 0.1756)\n", - " R2: 0.8805±0.1336 95CI=(0.6998, 0.9789)\n", - "RMSE: 0.3131±0.0702 95CI=(0.1965, 0.4191)\n" - ] - }, - { - "data": { - "image/png": "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lPd/++034enpKUaOHCni4uKEo6OjyMvLUz6+b98+4e7uLoqLi1XWExwcLFatWiWEECI8PFy88sorKo936tRJtGnTRu3zFhQUCKlUKlavXq12jIqzvaenp6tM9/f3Fxs3blSZ9t5774nw8HAhhBCrVq0SHh4eorCwUPn4ihUr1K6LyJS4y5FIT3744QfUrVsXzs7OCA8PR/fu3fHpp58CAAIDA9GgQQPlvCdOnMCDBw/g6emJunXrKm+ZmZm4cuUKAODcuXMIDw9XeY6K9x937tw5yOVy9OnTR+sx//XXX8jOzsbkyZNVxvH++++rjKNNmzaoU6eOVuMgMhXuciTSk169emHFihVwdHSEn5+fyoEfrq6uKvOWl5fD19cXycnJldZTr149nZ7fxcWlxsuUl5cDeLTbsVOnTiqPKXaNCl5hiiwEg0akJ66urmjatKlW87Zr1w65ublwcHBA48aN1c7TokULHD16FBMnTlROO3r0qMZ1NmvWDC4uLti3bx9eeumlSo8rPjMrKytTTvP29kbDhg1x9epVjBs3Tu16W7Zsia+++gp///23MppVjYPIVLjLkcgE+vbti/DwcAwfPhw///wzsrKycPjwYbz11ltITU0FAMyYMQNr167F2rVrcfHiRcTFxeHs2bMa1+ns7IxZs2bhzTffxJdffokrV67g6NGjWLNmDQDAy8sLLi4u2L17N/7880/k5+cDePRl7fj4eHz88ce4ePEiTp8+jXXr1uGDDz4AAIwdOxZ2dnaYPHkyMjIysGvXLixdutTA/0JENcegEZmARCLBrl270L17d7z44ot48sknMXr0aGRlZcHb2xsAMGrUKLzzzjuYNWsW2rdvj2vXruHVV1+tcr1vv/023njjDbzzzjto0aIFRo0ahby8PACAg4MDPvnkE6xatQp+fn4YNmwYAOCll17CF198gYSEBLRu3Ro9evRAQkKC8jD/unXrYufOncjIyEBYWBjmzp2LxYsXG/Bfh0g3EsEd5EREZAW4hUZERFaBQSMiIqvAoBERkVVg0IiIyCowaEREZBUYNCIisgoMGhERWQUGjYiIrAKDRkREVoFBIyIiq8CgERGRVWDQiIjIKvw/TB+JfsCVWIYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2184±0.0412 95CI=(0.1494, 0.2931)\n", - " MSE: 0.0677±0.0226 95CI=(0.0337, 0.1112)\n", - " R2: 0.9445±0.0340 95CI=(0.8591, 0.9810)\n", - "RMSE: 0.2566±0.0429 95CI=(0.1835, 0.3335)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2151±0.0706 95CI=(0.1024, 0.3471)\n", - " MSE: 0.0725±0.0384 95CI=(0.0157, 0.1419)\n", - " R2: 0.8086±0.5423 95CI=(0.6794, 0.9825)\n", - "RMSE: 0.2586±0.0750 95CI=(0.1254, 0.3767)\n" - ] - }, - { - "data": { - "image/png": "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yFJ4yJHISHr37o2EhAQ4OzsjICBA68QPd3d3rXlLSkrg7++P5OTkcuupU6eOQa/v5uZW7WVKSkoAPD7s2KlTJ63nSg+NCt5himwEg0ZkJO7u7mjUqJFe87Zt2xa5ublwcnJCaGhohfM0a9YMqampmDBhgmZaamqqznU2btwYbm5u2L9/P15++eVyz5d+ZlZcXKyZ5uvri8DAQFy9ehXjxo2rcL3NmzfHv/71L/zvf//TRLOycRBZCg85EllAv379EBkZieHDh2PPnj24du0ajhw5grfeegsnT54EALz++utYv3491q9fj8zMTCxYsADnzp3TuU5XV1fMmTMHb7zxBr744gtcuXIFqampWLduHQDAx8cHbm5u2L17N/773/9CqVQCeHyxdnx8PFasWIHMzEycOXMGGzZswNKlSwEAY8eOhYODAyZPnoyMjAzs2rULH330kYn/hIiqj0EjsgCZTIZdu3ahR48emDRpEp566imMHj0a165dg6+vLwBg1KhReOeddzBnzhy0a9cO169fx9SpUytd79tvv43Zs2fjnXfeQbNmzTBq1Cjcvn0bAODk5ISVK1fi008/RUBAAJ599lkAwMsvv4zPP/8ciYmJiIiIQM+ePZGYmKg5zb927drYsWMHMjIy0KZNG8yfPx+LFy824Z8OkWFkggfIiYhIAriHRkREksCgERGRJDBoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERScL/AT2fBONDhGLJAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2254±0.0468 95CI=(0.1542, 0.3018)\n", - " MSE: 0.0647±0.0275 95CI=(0.0300, 0.1120)\n", - " R2: -0.7618±16.2603 95CI=(-0.0136, 0.9874)\n", - "RMSE: 0.2488±0.0531 95CI=(0.1732, 0.3347)\n" - ] - }, - { - "data": { - "image/png": "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jh2La9euVbrO5OTkCt/TgoICE7+a8qp6/8aNG1dunB07dqxyvVK9fwwagG+++QbTp0/H3LlzkZ6ejq5du2LAgAG4cuVKhfNnZmZi4MCB6Nq1K9LT0/Haa69h2rRpWL9+vZlHXrXU1FTExcXh0KFD2LlzJ4qLixEdHY28vLwql/3999+RnZ2tvTVu3NgMI66+Fi1a6IzzxIkTeue1pfcOAI4cOaLz2nbu3AkAePrppytdzlrfu7y8PERGRmLZsmUVPr5o0SK8//77WLZsGY4cOQJ/f3/07dsXd+7c0bvOgwcPYvjw4RgzZgx+++03jBkzBjExMfjll19M9TL0quz15efnIy0tDa+//jrS0tKwYcMGnD17FkOHDq1yvV5eXjrvZ3Z2NlxdXU3xEipV1fsHAP3799cZ59atWytdp6TvnyDRvn178cILL+hMa9q0qZg9e3aF87/66quiadOmOtOef/550bFjR5ONUSrXr18XAERqaqreefbs2SMAiNu3b5tvYEaKj48XkZGRBs9vy++dEEK89NJLIiwsTJSWllb4uC29dwDExo0btfdLS0uFv7+/WLBggXZaQUGBUKlU4uOPP9a7npiYGNG/f3+daf369RMjRoyQfMzV8fDrq8jhw4cFAHH58mW986xevVqoVCppByeBil5fbGyseOyxx6q1HinfP7vfQrt37x5+/fVXREdH60yPjo7GgQMHKlzm4MGD5ebv168fjh49iqKiIpONVQoajQYA4O3tXeW8rVq1QkBAAHr37o09e/aYemhGO3fuHNRqNUJDQzFixAhcvHhR77y2/N7du3cPa9euxfjx46v8om1bee8elJmZiZycHJ33R6lUonv37np/FgH972lly1gLjUYDhUKB2rVrVzrf3bt3ERwcjAYNGmDw4MFIT083zwCNkJKSAl9fXzzyyCOYNGkSrl+/Xun8Ur5/dh+0GzduoKSkBH5+fjrT/fz8kJOTU+EyOTk5Fc5fXFyMGzdumGysNSWEwIwZM9ClSxeEh4frnS8gIACffvop1q9fjw0bNqBJkybo3bs39u7da8bRGqZDhw74/PPPsX37dqxYsQI5OTno1KkTbt68WeH8tvreAcCmTZvw119/Ydy4cXrnsaX37mFlP2/V+VksW666y1iDgoICzJ49G6NGjar0S3ubNm2K5ORk/PDDD/jqq6/g6uqKzp07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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4567±0.0149 95CI=(0.4344, 0.4844)\n", - " MSE: 0.3618±0.0253 95CI=(0.3243, 0.4090)\n", - " R2: 0.8168±0.0129 95CI=(0.7980, 0.8382)\n", - "RMSE: 0.6012±0.0209 95CI=(0.5695, 0.6395)\n" - ] - }, - { - "data": { - "image/png": "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aPy1feLECTg7O6NRo0Ya7apWrYry5cvjzJkzRm03NTVV57Lq1avrXad9+/ZwdXXF5s2bdd6OYCzxv0ngC+9XvXr1cPr0aa22qmV169bVuS1PT08MGDAA0dHR8PHxwUsvvaSzXYUKFQAA06dP19umZs2aAIC1a9eiXbt2iImJ0Xj90aNHWusMHz4cw4cPR2ZmJvbt24eoqCj07NkTFy9eRHBwsPoLPycnR+MPGX1Hc7qORCtUqIDnn38ec+fO1blOYGCgzuXFpfoZ/fzzzwgODjbLNsm+MNCoxHJycrB27Vo0a9ZM7xezLj///DOysrLQokUL9bLAwEDk5+fj2LFjaN68uXr5xYsXce/ePVSuXNmobX/33Xd4+eWX1c8PHjyI69evGwxcpVKJUaNGISYmBt98843Ono5XrlxBZmamwZ6O3377LVxdXdG4cWP1sr59+2LcuHE4cuSIer/y8vKwdu1aNG/e3OCX9tixY/H333+jbdu2ent51qxZEzVq1MDJkycxb948vdsCnobKs0fRp06dwqFDhxAUFKRzHS8vL0RERODJkyfo06cPzp49i+DgYPXpz1OnTmncd7h161aDNRTWs2dPbN++HdWqVUO5cuWMXq+4unbtChcXF1y5ckXj30ZJqH6OhY9syXYYaFRimzdvxv379/WGxfXr1zFw4EAMGDAA1atXh0wmw969e7F48WLUqVNHY73hw4dj0aJFePnllzFz5kzUrFkTV69exbx58+Dl5WX0kdPx48cxatQovPrqq7h58yZmzJiBSpUqqU+/6bNw4UJcvXoVw4YNw44dO9C3b1/4+/vj7t27iIuLw6pVq/DDDz/g+eefx8cff4ykpCR07NgRlStXRlpaGlasWIGdO3di9uzZ6iMC4Om1sGXLluHVV1/F/Pnz4efnh88//xwXLlzArl27DNbUoEEDbN68uch9/vLLLxEREYGuXbti2LBhqFSpEu7fv49z584hISEBP/30E4CnAfLBBx8gKioKbdu2xYULF/D+++8jNDRUo5v86NGj4eHhgVatWiEgIACpqamIjo6GQqFQh1f37t3h6+uLkSNH4v3334eLiwtWr16NmzdvFlmvyvvvv4+4uDi0bNkSEydORM2aNZGdnY1r165h+/bt+OKLL4z+Q8aQkJAQvP/++5gxYwauXr2Kbt26oVy5cvj7779x9OhReHl5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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4471±0.0217 95CI=(0.4145, 0.4838)\n", - " MSE: 0.3385±0.0363 95CI=(0.2930, 0.4102)\n", - " R2: 0.8199±0.0205 95CI=(0.7874, 0.8495)\n", - "RMSE: 0.5810±0.0309 95CI=(0.5413, 0.6405)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLbklEQVR4nO3deVxUVf8H8M+wDYswiMSmiLikEua+4JILLuDek5m7mJq5pKb1qKkPahlqPZmmoplbLmmbmulP03LJXcMdd1FJIXdQCEQ4vz94ZmKchWGY5c7M5/168XrFnXPnfi+TfLjnnnuOTAghQEREZOOcrF0AERGRKTDQiIjILjDQiIjILjDQiIjILjDQiIjILjDQiIjILjDQiIjILjDQiIjILjDQiIjILjDQyGgnT55Ep06dULFiRXh4eMDPzw9RUVFYs2aNRluZTKbzq0aNGmpt09LSEBcXh4CAALi7u+Pll1/GsmXLTF5/XFwcypQpo7G9oKAAq1evRtu2beHv7w9XV1cEBASgc+fO2LJlCwoKCoo9r1mzZmm87507dxAXFwd/f394enoiKioKv/76q0a7SpUqQSaToVWrVlrr/vrrr1XH2bNnj9HnT6WXnZ2NadOm8XOQCBdrF0C269GjRwgNDUXv3r1Rvnx5ZGVlYe3atejfvz+uX7+OKVOmqNoeOnRIY/8jR45g7NixePXVV1XbMjIy0Lx5czx9+hRz5sxBcHAwvvnmGwwZMgQZGRkYN26cWc8pJycH3bt3xy+//IJevXohMTERQUFBuHv3LrZv347XX38dGzZsQLdu3VT79OjRA+PHj1d7n4oVK6p9n5ubi+joaDx69Ajz5s1DQEAAFi5ciJiYGOzatQstW7ZUa+/t7Y19+/bh6tWrqFKlitpry5cvh4+PDzIzM0189lRS2dnZmD59OgDo/AOELEgQmVjjxo1FaGhose3i4uKETCYTly9fVm1LSEgQAMTx48fV2rZv3154eXmJhw8fmqzOgQMHCi8vL7Vtw4cPFwDEqlWrtO5z6dIlcerUKdX3AMTIkSOLPdbChQsFAHHw4EHVtry8PBERESEaNWqk1jYsLEzExsaKChUqiA8++EDttStXrgiZTCaGDh0qAIjdu3cXe2wpy87OtnYJpXL37l0BQMTHx1u7FBJCsMuRTM7f3x8uLvov/h8/fozvvvsOLVu2RNWqVVXbDxw4gMDAQNSvX1+tfefOnZGVlYXt27frfd+VK1dCJpNh586dGDRoEPz8/ODl5YUuXbrg2rVrevdNT0/HV199hQ4dOmDAgAFa21SrVg0vv/yy3vfRZuPGjahevTqioqJU21xcXNCvXz8cPXoUt27dUmvv5OSEAQMGYNWqVWpdnMuXL0doaCjatm2r9TjHjx9H165d4efnB3d3d9StWxfffvutWpu7d+9ixIgRiIiIQJkyZRAQEIA2bdrg999/13i/xMRE1K5dG2XKlIG3tzdq1KiBDz74QPX6tGnTIJPJNPZTfg7Xr19XbatUqRI6d+6MH3/8EXXr1oW7u7vq6iY9PR3Dhg1DhQoV4ObmhvDwcEyfPh3Pnj1T7X/9+nXIZDJ88sknmD17NipVqgQPDw+0atUKly5dQl5eHiZOnIiQkBAoFAq8+uqruHPnjkZtGzZsQFRUFLy8vFCmTBl06NABJ06cUGuj7I6+cuUKOnbsiDJlyiA0NBTjx49Hbm6uqp4XXngBADB9+nRVN3BcXJzWz4bMj4FGpVZQUIBnz57h7t27WLRoEXbs2IEJEybo3Wf9+vXIysrCkCFD1LY/ffoUcrlco71y2+nTpw2qafDgwXBycsK6devw+eef4+jRo2jVqhUePXqkc5/du3cjLy8P3bt3N+gYSuvWrYOHhwfkcjnq16+PFStWaLQ5e/as1iBUbjt37pzGa2+++SZu376NHTt2AADy8/OxatUqxMXFwclJ85/u7t270axZMzx69AiLFy/G5s2bUadOHbzxxhtYuXKlqt2DBw8AAPHx8di6dStWrFiBypUro1WrVmr3gtavX48RI0agZcuW2LhxIzZt2oR3330XWVlZJfr5FJWUlIT3338fo0ePxvbt2/Haa68hPT0djRo1wo4dO/Cf//wH//d//4fBgwcjISEBQ4cO1XiPhQsX4sCBA1i4cCG++uorXLhwAV26dMHgwYNx9+5dLF++HHPmzMGuXbs0/v/6+OOP0bt3b0RERODbb7/F6tWr8fjxY7Ro0QLJyclqbfPy8tC1a1dER0dj8+bNePPNNzF37lzMnj0bABAcHKz6A2vw4ME4dOgQDh06hKlTpxr986FSsvYlItm+YcOGCQACgHBzcxOLFi0qdp/GjRsLX19f8ffff6ttHzt2rHBychI3btxQ296/f38BQLz11lt633fFihUCgHj11VfVth84cEAAEB999JFq2/NdjrNmzRIAxPbt24utX6lPnz5i7dq1Yt++feL7778XsbGxAoCYMmWKWjtXV1cxbNgwjf0PHjwoAIh169aptoWFhYlOnToJIYRo2bKl6NGjhxBCiK1btwqZTCZSUlLEd999p9HlWKNGDVG3bl2Rl5endozOnTuL4OBgkZ+fr/Ucnj17JvLy8kR0dLTaz23UqFHC19dX7/nHx8cLbb9GlJ9DSkqK2nk5OzuLixcvqrUdNmyYKFOmjMZn/umnnwoA4ty5c0IIIVJSUgQAUbt2bbVz+fzzzwUA0bVrV7X9x44dKwCIjIwMIYQQN2/eFC4uLuKdd95Ra/f48WMRFBQkevbsqdo2cOBAAUB8++23am07duwoqlevrvqeXY7Swis0KrUPPvgAx44dw9atW/Hmm29i1KhR+PTTT3W2P3fuHI4cOYK+ffvC3d1d7bW33noLrq6u6Nu3L86dO4f79+9j4cKF2LBhAwBovTLRpm/fvmrfN23aFGFhYdi9e3cJz06/tWvXok+fPmjRogVee+01bNu2DZ07d8asWbNw9+5dtbbauuaKe+3NN9/ETz/9hPv372PZsmVo3bo1KlWqpNHuypUruHDhguq8nz17pvrq2LEj0tLScPHiRVX7xYsXo169enB3d4eLiwtcXV3x66+/4vz586o2jRo1wqNHj9C7d29s3rwZ9+7dK8mPRquXX34ZL774otq2n3/+Ga1bt0ZISIha3bGxsQCAvXv3qrXv2LGj2v8HNWvWBAB06tRJrZ1y+82bNwEAO3bswLNnzzBgwAC147i7u6Nly5YaIxVlMhm6dOmiUf+NGzeMPHsyNwYalVrFihXRoEEDdOzYEYmJiXjrrbcwadIkjV/oSsoh+M93BwGFv4Q2btyIGzduIDIyEv7+/pg9ezb++9//AgDKly9vUE1BQUFat92/f1/veQBASkqKQcfQpV+/fnj27BmOHz+u2lauXDmtx1Z2//n5+Wl9rx49esDd3R1z587Fli1bMHjwYK3t/vrrLwDAe++9B1dXV7WvESNGAIAqkD777DMMHz4cjRs3xg8//IDDhw/j2LFjiImJwd9//616z/79+2P58uW4ceMGXnvtNQQEBKBx48bYuXOnET+VQsHBwVpr37Jli0bdL730klrdSs//rNzc3PRuz8nJUR0HABo2bKhxrA0bNmgcx9PTU+MPLrlcrno/kh4O2yeTa9SoERYvXoxr166pbporPX36FKtXr0b9+vVRp04drfvHxsbixo0buHLlCp49e4YXX3xRNbDhlVdeMaiG9PR0rduKDkB5XuvWreHq6opNmzbh7bffNug42oj/LQJf9CqiVq1aOHPmjEZb5bbIyEit7+Xp6YlevXohISEBPj4++Ne//qW1nb+/PwBg0qRJOttUr14dALBmzRq0atUKiYmJaq8/fvxYY59BgwZh0KBByMrKwr59+xAfH4/OnTvj0qVLCAsLU/3Cz83NVbv3qetqTtuVqL+/P15++WXMnDlT6z4hISFat5eU8mf0/fffIywszCTvSdLCQCOT2717N5ycnFC5cmWN13766Sfcu3cPM2bM0PseMpkM1apVA1AYgvPmzUOdOnUMDrS1a9fitddeU31/8OBB3LhxQ+tVoVJQUBCGDBmCxMREfP3111pHOl69ehVZWVl6RzquXr0arq6uaiM1X331VYwYMQJHjhxB48aNARR2C65ZswaNGzfW+0t7+PDh+Ouvv9CyZUuNKwal6tWro1q1ajh16hQ+/vhjne8FFP5snx94c/r0aRw6dAihoaFa9/Hy8kJsbCyePn2K7t2749y5cwgLC1N1f54+fRoNGzZUtd+yZYveGorq3Lkztm3bhipVqqBs2bIG71dSHTp0gIuLC65evar2/0ZpKH+ORa9syXoYaGS0t956Cz4+PmjUqBECAwNx7949fPfdd9iwYQPef/99jaszoLC70cPDA3369NH5vu+88w5atWqFcuXK4dq1a5g/fz7+/PNPjXsp+hw/fhxDhgzB66+/jtTUVEyePBnly5dXdb/p8tlnn+HatWuIi4vDjh078Oqrr6rObefOnVixYgXWr1+Pl19+GZ988gmSk5MRHR2NChUq4M6dO1i2bBl++eUXTJs2TXVFABTeC1u4cCFef/11zJo1CwEBAVi0aBEuXryIXbt26a2pTp062LRpU7HnvGTJEsTGxqJDhw6Ii4tD+fLl8eDBA5w/fx5JSUn47rvvABQGyIcffoj4+Hi0bNkSFy9exIwZMxAeHq42TH7o0KHw8PBAs2bNEBwcjPT0dCQkJEChUKjCq2PHjvDz88PgwYMxY8YMuLi4YOXKlUhNTS22XqUZM2Zg586daNq0KUaPHo3q1asjJycH169f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4717±0.0221 95CI=(0.4335, 0.5090)\n", - " MSE: 0.3932±0.0380 95CI=(0.3295, 0.4515)\n", - " R2: 0.8117±0.0193 95CI=(0.7819, 0.8437)\n", - "RMSE: 0.6263±0.0304 95CI=(0.5740, 0.6720)\n" - ] - }, - { - "data": { - "image/png": "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rhUAxLPPPquy/eDBgwKA+OCDD5TbynY5Lly4UAAQ8fHx5davMGLECPHtt9+K/fv3ix9//FFERkYKAOLdd99Vaefs7CwmTpyotv+hQ4cEALFx40bltpCQENG/f38hhBBdunQRL7zwghBCiJ07dwqZTCbS0tLEDz/8oNbl2KhRI9GyZUtRWFio8h4DBgwQgYGBori4WONnKCoqEoWFhaJHjx4qP7epU6cKb29vnZ8/OjpaaPozovge0tLSVD6Xo6OjuHTpkkrbiRMniqpVq6p950uWLBEAxPnz54UQQqSlpQkAonnz5iqf5dNPPxUAxKBBg1T2nz59ugAgsrOzhRBC3Lx5Uzg5OYnXX39dpd3Dhw9FQECAGDp0qHJbVFSUACC+//57lbb9+vUTDRs2VD5nl6O08AyNKuydd97BsWPHsHPnTrzyyiuYOnUqlixZorX9+fPnceTIEYwcORKurq4qr7366qtwdnbGyJEjcf78edy9excrVqzA5s2bAUDjmYkmI0eOVHneoUMHhISEIDEx0cBPp9u3336LESNGoHPnznj++eexa9cuDBgwAAsXLsTt27dV2mrqmivvtVdeeQXbt2/H3bt3sXr1anTr1g116tRRa3f16lVcvHhR+bmLioqUj379+iEjIwOXLl1Stl+1ahVatWoFV1dXODk5wdnZGb/++isuXLigbNO2bVs8ePAAw4cPx7Zt23Dnzh1DfjQaNWvWDE899ZTKtp9//hndunVDUFCQSt2RkZEAgH379qm079evn8p/B40bNwYA9O/fX6WdYvvNmzcBALt370ZRURHGjBmj8j6urq7o0qWL2khFmUyGgQMHqtV/48YNIz89mRsDjSqsdu3aaNOmDfr164fY2Fi8+uqrmDNnjtofdAXFEPyy3UHAkz9CW7duxY0bNxAeHg5fX18sWrQI//nPfwAANWvW1KumgIAAjdvu3r2r83MAQFpaml7voc2oUaNQVFSE48ePK7dVr15d43sruv98fHw0HuuFF16Aq6srli5dih07dmDcuHEa2/31118AgLfeegvOzs4qj8mTJwOAMpA++eQTTJo0Ce3atcNPP/2Ew4cP49ixY+jbty/+/vtv5TFHjx6NNWvW4MaNG3j++efh5+eHdu3aISEhwYifyhOBgYEaa9+xY4da3U2aNFGpW6Hsz8rFxUXn9vz8fOX7AMDTTz+t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ODgYI0aMwMiRIxEXF6fsJlyzZg3q1q0LuVwOIQSys7Px6quvws/PD56enujevTtOnz6tcsyFCxfC398fHh4eGDduHPLz81VeL9vlWFJSgkWLFqF+/fqQy+WoXbs2PvzwQwBQrrTQsmVLyGQydO3aVbnf2rVr0bhxY7i6uqJRo0Zqa3QdPXoULVu2hKurK9q0aSPpFZOp8uIZGpGZuLm5obCwEABw9epVfP/99/jpp5/g6OgIAOjfvz98fHywa9cueHl54fPPP0ePHj1w+fJl+Pj44Pvvv0d0dDRWrFiBzp0745tvvsGyZctQt25dre85Z84cfPnll1i6dCk6deqEjIwMXLx4EcCTUGrbti327NmDJk2awMXFBQDw5ZdfIjo6GsuXL0fLli1x8uRJTJgwAe7u7oiKikJubi4GDBiA7t27Y8OGDUhLS8Mbb7xh5p8ekRGMmtKYiFRERUWJwYMHK58fOXJEVK9eXQwdOlRER0cLZ2dnkZWVpXz9119/FZ6eniI/P1/lOPXq1ROff/65EEKIiIgI8dprr6m83q5dO9G8eXON75uTkyPkcrn48ssvNdaomO395MmTKtuDg4PFxo0bVba9//77IiIiQgghxOeffy58fHxEbm6u8vXY2FiNxyKyJnY5EpnIzz//jKpVq8LV1RURERF45pln8N///hcAEBISgho1aijbnjhxAo8ePUL16tVRtWpV5SMtLQ2pqakAgAsXLiAiIkLlPco+L+3ChQsoKChAjx499K759u3bSE9Px7hx41Tq+OCDD1TqaN68OapUqaJXHUTWwi5HIhPp1q0bYmNj4ezsjKCgIJWBH+7u7iptS0pKEBgYiL1796odx9vb26j3d3NzM3ifkpISAE+6Hdu1a6fymqJrVHCFKbIRDDQiE3F3d0f9+vX1atuqVStkZmbCyckJderU0dimcePGOHz4MMaMGaPcdvjwYa3HbNCgAdzc3PDrr79i/Pjxaq8rrpkVFxcrt/n7+6NmzZq4du0aRo4cqfG4YWFh+Oabb/D3338rQ1NXHUTWwi5HIivo2bMnIiIiMGTIEOzevRvXr1/HoUOH8O677+L48eMAgDfeeANr1qzBmjVrcPnyZURHR+P8+fNaj+nq6opZs2bhX//6F77++mukpqbi8OHDWL16NQDAz88Pbm5uiI+Px19//YXs7GwAT27WjomJwWeffYbLly/j7NmzWLt2LT755BMAwIgRI+Dg4IBx48YhJSUFu3btwpIlS8z8EyIyHAONyApkMhl27dqFZ555Bq+88gqeeuopDBs2DNevX4e/vz8A4KWXXsK///1vzJo1C61bt8aNGzcwadIkncd97733MHPmTPz73/9G48aN8dJLLyErKwsA4OTkhGXLluHzzz9HUFAQBg8eDAAYP348vvrqK6xbtw5NmzZFly5dsG7dOuUw/6pVq2LHjh1ISUlBy5YtMXfuXCxatMiMPx0i48gEO8iJiMgO8AyNiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjswv8DmgHYYRr1bSsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe888011b80>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe7a3041c10>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " [\n", - " 53,\n", - " 159\n", - " ],\n", - " [\n", - " 20,\n", - " 1210\n", - " ]\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\",\n", - " \"DATASETS\": [\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 7.89), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 9.04), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 6.14), ..., ([...], ...)]\"\n", - " ],\n", - " \"MEASUREMENT_TYPES\": \"{'P00533__pKdMeasurement', 'P00533__pIC50Measurement', 'P00533__pKiMeasurement'}\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2183750.0412380.0676850.0225510.9445250.0340340.2566060.042876
test0.2150770.0705800.0724870.0383960.8086320.5422670.2585690.075029
val0.2253990.0468430.0647030.027453-0.76182016.2603050.2487590.053127
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.4566580.0149270.3618270.0253000.8168410.0128790.6011580.020894
test0.4470510.0216540.3384910.0363380.8198910.0205380.5809790.030896
val0.4717340.0220940.3931630.0380300.8117120.0192680.6262900.030394
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2531970.0439990.1022290.0268420.9303210.0414150.3168500.042846
test0.2502220.0478300.0898640.0248070.9256210.0927490.2964900.044240
val0.2406980.0668490.1029360.0429500.8805250.1335830.3130560.070226
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:17:27.428671\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:17:27.435445+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:17:27 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 68C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb deleted file mode 100644 index c5edd21f..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb +++ /dev/null @@ -1,903 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "6be1d23b-bf95-473b-8086-9b305ff2ada5", - "metadata": { - "tags": [] - }, - "source": [ - "# KinoML object model" - ] - }, - { - "cell_type": "markdown", - "id": "6a2dfe77-6493-4b81-80be-4f5d45304f84", - "metadata": {}, - "source": [ - "The KinoML object model provides access to binding affinity data in the context of machine learning for small molecule drug discovery (Fig. 1). The `DatasetProvider` is the central object for storing all relevant information of a dataset. It is essentially a list of `Measurement` objects, which contain the measured `values` (singlicate or replicates), associated to a `System` plus experimental `AssayCondition`s. A `System` is a list of `MolecularComponent` objects; usually a `Protein` and a `Ligand`. `Featurizer`s will use the input of the `MolecularComponent`s to represent the `System` in different formats for machine learning tasks, e.g. a `Ligand` as molecular fingerprint." - ] - }, - { - "cell_type": "markdown", - "id": "086fa441-42de-46cd-a7a5-3371de361fab", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/object_model.png) \n", - "**Fig. 2:** KinoML object model." - ] - }, - { - "cell_type": "markdown", - "id": "6529b16b-1738-476d-8982-ee53f9a361ea", - "metadata": {}, - "source": [ - "KinoML has a focus on protein kinases but the architecture is applicable to protein targets in general. When writing your own KinoML objects it is recommended to move computational expensive tasks to the `Featurizer` level, which is capable of multi-processing. For example `Protein` objects can be initialized with nothing else but a UniProt ID. The amino acid sequence will be fetched when the `Protein`'s `sequence` attribute is called for the first time. Thus, one can quickly generate many `Protein` objects and the more time-consuming sequence fetching is done with multi-processing during featurization." - ] - }, - { - "cell_type": "markdown", - "id": "5926f821-577b-40cf-b182-fc0ee554cafe", - "metadata": {}, - "source": [ - "In the following section, different KinoML objects will be introduced including code examples." - ] - }, - { - "cell_type": "markdown", - "id": "4bcf7ddd-2653-4ac0-85b9-81798471107d", - "metadata": { - "tags": [] - }, - "source": [ - "## Molecular components\n", - "\n", - "Molecular components like ligands and proteins store molecular representations, a `name` and additional `metadata`, that may be important for working with the data and provenance." - ] - }, - { - "cell_type": "markdown", - "id": "07b79cee-43b8-4475-a5a7-561407f2a5a9", - "metadata": {}, - "source": [ - "### Ligands\n", - "\n", - "Ligand objects store information about the molecular structure of a ligand, usually a small molecule with certain activity for a target. \n", - "\n", - "The `Ligand` object is based on the OpenFF-Toolkit `Molecule` [object](https://github.com/openforcefield/openff-toolkit/blob/master/openff/toolkit/topology/molecule.py), which can be accessed via the `molecule` attribute. This also allows usage of methods of the OpenFF-Toolkit `Molecule` including conversion to other toolkits, e.g. [RDKit](https://www.rdkit.org/docs/) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html). The `Ligand` object can be directly initialized via SMILES or file including interpretation of the given input, or lazely initialized via SMILES without any interpretation of the given input." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f72e0dab-aafb-460d-9b1f-f32fa84784cb", - "metadata": {}, - "outputs": [], - "source": [ - "from openff.toolkit.utils.exceptions import SMILESParseError\n", - "\n", - "from kinoml.core.ligands import Ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1672a883-5bb6-43c6-96a7-f904ddeef81c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n", - "CCC\n" - ] - } - ], - "source": [ - "# initialize a Ligand from SMILES, the molecule will be directly interpreted\n", - "ligand = Ligand.from_smiles(\"CCC\", name=\"propane\")\n", - "print(type(ligand))\n", - "print(type(ligand.molecule))\n", - "print(type(ligand.molecule.to_rdkit()))\n", - "print(ligand.molecule.to_smiles(explicit_hydrogens=False))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "48760c2f-cb72-4f80-a3a4-42339d3de3d7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# erroneous input will raise errors during initialization\n", - "try:\n", - " ligand = Ligand.from_smiles(\"XXX\", name=\"wrong_smiles\")\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ca7b3ada-7400-4259-8289-5ec7aee190c7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# Ligands can also be lazely initialized via SMILES\n", - "# here the interpretation is done when calling the molecule attribute for the first time\n", - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "print(type(ligand.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8aca1621-b2a0-4cf2-8439-7ad785079372", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ligand lazely initialized!\n", - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# this makes the object generation faster \n", - "# but will result in interpretation errors later, e.g. during a featurization step\n", - "# hence featurizers need to detect and remove those systems\n", - "ligand = Ligand(smiles=\"XXX\", name=\"wrong_smiles\")\n", - "print(\"Ligand lazely initialized!\")\n", - "try:\n", - " print(type(ligand.molecule))\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "markdown", - "id": "c9f26b15-eaee-451f-9545-3c09c8b1b2d0", - "metadata": {}, - "source": [ - "### Proteins\n", - "\n", - "Protein objects store information about the molecular structure of a protein, e.g. the target of a small molecule inhibitor.\n", - "\n", - "KinoML provides two different Protein objects, i.e. `Protein` (applicable to all proteins) and `KLIFSKinase` (allows access to information from the protein kinase-specific KLIFS database). Similar to `Ligand`, protein objects can be directly or lazily initialized.\n", - "\n", - "Again, the molecular structure is accessable via the `molecule` attribute. However, both protein objects support two toolkits, i.e. [MDAnalysis](https://docs.mdanalysis.org/stable/index.html) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html), which can be specified via the toolkit argument. A conversion from one toolkit to the other after initialization is currently not possible, but likely not needed anyway.\n", - "\n", - "Another important attribute of proteins is their `sequence`. Depending on the used featurizer, a molecular structure may actually not be required, for example in case of OneHotEncoding of the sequence. Hence, you can also initialize `Protein` and `KLIFSKinase` using sequence identifiers only, e.g. UniProt ID or NCBI ID. This is always done lazily, so the sequences will be fetched from the respective resource on the first call of the `sequence` attribute. `Protein` and `KLIFSKinase` inherit their sequence-related functionality from the `AminoAcidSequence` object in `kinoml.core.sequences`, which allows for further a customization of sequences, e.g. mutations. For more details have a look at the `AminoAcidSequence` class in the [respective section](https://openkinome.org/kinoml/api/kinoml/core/sequences/index.html) of the KinoML API documentation." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1fffad99-3307-48fb-a9b8-f887e995357d", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n" - ] - } - ], - "source": [ - "from kinoml.core.proteins import Protein, KLIFSKinase" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f1aa904b-6511-4b8a-acef-50a5e7f477e2", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# initialize from PDB ID with different toolkits\n", - "protein = Protein.from_pdb(\"4yne\", name=\"NTRK1\")\n", - "protein2 = Protein.from_pdb(\"4yne\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "print(type(protein.molecule))\n", - "print(type(protein2.molecule))\n", - "protein2" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "10cd6b48-f1d7-4fd3-8f38-5094755526ed", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# initialize lazily via PDB ID\n", - "protein = Protein(pdb_id=\"4nye\", name=\"NTRK1\")\n", - "print(type(protein.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "6cd65e0c-f2cf-452c-ad8b-0db2620bd655", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# note there is no sequence yet, since no UniProt ID was given\n", - "print(len(protein.sequence))\n", - "# but one could get it from the protein structure if needed" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "00499520-3d8c-4f77-8f6f-98682f47db62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MLRGGRRGQL\n", - "MLAGGRRGQL\n", - "\n" - ] - } - ], - "source": [ - "# initialize with sequence from UniProt\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(protein.sequence[:10])\n", - "# initialize with sequence from UniProt and custom mutations\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", metadata={\"mutations\": \"R3A\"})\n", - "print(protein.sequence[:10])\n", - "print(type(protein.molecule)) # a molecule is not available" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "94839c47-8b58-4ba3-8446-c9425ae3c9e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n" - ] - } - ], - "source": [ - "# get the kinase KLIFS pocket sequence via different identifiers (lazy)\n", - "kinase = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(ncbi_id=\"NP_001007793\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(kinase_klifs_id=480, name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)" - ] - }, - { - "cell_type": "markdown", - "id": "30dfcae2-24eb-4cfa-8243-61b842a27b33", - "metadata": {}, - "source": [ - "## Systems" - ] - }, - { - "cell_type": "markdown", - "id": "ffde61a8-a989-4cc7-9cd6-63dd2966932d", - "metadata": {}, - "source": [ - "Systems store all molecular components for a given activity data point. They may only contain a `Ligand` in case of purely ligand-based featurization but can also contain a `Protein`, i.e. `LigandSystem`, `ProteinSystem`, `ProteinLigandComplex`." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "b69b053a-34c4-496a-9556-6014b84b0b24", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.systems import LigandSystem, ProteinSystem, ProteinLigandComplex" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "d6252a11-a0c2-4271-bb9e-c631c47dfef3", - "metadata": {}, - "outputs": [], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "bf198411-2706-4aac-9d5f-76b949570c62", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = LigandSystem(components=[ligand])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "896d8887-9c47-40c3-87a8-3c1fe7526c84", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinSystem(components=[protein])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f10aaeac-f9eb-478e-94dd-1567bddc7d31", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinLigandComplex(components=[ligand, protein])\n", - "system" - ] - }, - { - "cell_type": "markdown", - "id": "19763f3a-0c52-49f6-8b17-a91716b3c567", - "metadata": {}, - "source": [ - "## Featurizers\n", - "\n", - "`Featurizer`s ingest `System`s to compute features for e.g. machine learning tasks. Systems failing during featurization will be removed, e.g. erroneous SMILES. Featurizations are stored in each system for later usage." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "b8f71ee1-eea6-4cfb-970f-e721ea447331", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "907f0b9b-e97f-4eba-acd1-19161336efe2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# generate systems with lazily initialized ligands\n", - "systems = [\n", - " LigandSystem(components=[Ligand(smiles=smiles, name=str(i))]) \n", - " for i, smiles in enumerate([\"C\", \"?\", \"CC\", \"CCC\"])\n", - "]\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "cdfb7e2a-7c86-4cd1-897a-a85fe564c4f8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: ?\n", - "Warning: ^\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# the featurization will lead to interpretation of the given SMILES for the first time\n", - "# failing systems will not be returned\n", - "featurizer = MorganFingerprintFeaturizer()\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "fac767ed-ec37-44a6-8a96-f744e2d7301e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0])}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# featurizations are stored in each system as a dict\n", - "# the lastly performed featurization is additionally stored with the \"last\" key\n", - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "fad90ed3-39d0-4ebe-9a37-2a6ac359152c", - "metadata": {}, - "source": [ - "## Measurements" - ] - }, - { - "cell_type": "markdown", - "id": "e6665be2-a51d-4e43-93b1-55040e0d3c4e", - "metadata": {}, - "source": [ - "`Measurement`s combine information for a given activity data point, i.e. `System`, `AssayCondition` and activity `values`. Currently available `Measurement` objects are `PercentageDisplacementMeasurement`, `pIC50Measurement`, `pKiMeasurement`, `pKdMeasurement`." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "7353e4db-4441-494c-af5d-8c7fecac16d1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.conditions import AssayConditions\n", - "from kinoml.core.measurements import PercentageDisplacementMeasurement" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "d6bca4e5-40e7-4b4d-84c5-cabba48959cb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "measurement = PercentageDisplacementMeasurement(\n", - " 10,\n", - " conditions=AssayConditions(pH=7.0),\n", - " system=ProteinLigandComplex(components=[ligand, protein]),\n", - ")\n", - "measurement" - ] - }, - { - "cell_type": "markdown", - "id": "666bac1e-6a67-44af-946f-70d3fd3a557d", - "metadata": {}, - "source": [ - "## DatasetProviders\n", - "\n", - "`DatasetProviders` are essentially a list of `Measurement`s, which can be used for machine learning experiments. `Featurizer`s can be passed to allow a featurization of all available `System`s. Currently, KinoML is shipped with `DatasetProvider`s for [PKIS2](https://doi.org/10.1371/journal.pone.0181585) and [ChEMBL](https://www.ebi.ac.uk/chembl/) datasets allowing quick experiment design." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "0db9d114-8f7f-41b2-a94d-bc6b9906dce1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.datasets.chembl import ChEMBLDatasetProvider\n", - "from kinoml.datasets.pkis2 import PKIS2DatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "4e0ce095-ee95-4896-912a-df82301592d9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# load data points given by the PKIS2 publication (https://doi.org/10.1371/journal.pone.0181585)\n", - "pkis2 = PKIS2DatasetProvider.from_source()\n", - "print(pkis2)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f89dcc94-bd34-48a1-b807-44b940b61d82", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b89a3b1bc95047658f2c635c58b233ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/190469 [00:00" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# load curated ChEMBL data points available at https://github.com/openkinome/kinodata\n", - "# here the more general \"Protein\" object will be used instead of the default \"KLIFSKinase\"\n", - "# also protein objects will be initialized with the MDAnalysis toolkit\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=(\"pIC50\", \"pKi\", \"pKd\"),\n", - " protein_type=\"Protein\",\n", - " toolkit=\"MDAnalysis\",\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0109aa8d-ed17-4d74-bd0c-27df666039f4", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f8e922d72ca4f5886727d3da11b372e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/100 [00:00" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# loading a smaller sample allows rapid testing\n", - "# loading now with default \"KLIFSKinase\" protein object\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=[\"pKi\"],\n", - " sample=100,\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "42da4de8-f4f9-4547-80b1-d146ecf40577", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# upper statement to hide warnings\n", - "# all systems will be successfully featurized\n", - "chembl.featurize(MorganFingerprintFeaturizer())\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "84bc3581-e429-4b0a-95e1-2f7ff40b4406", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.protein import OneHotEncodedSequenceFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "60071a64-86b9-49e0-a741-9f9f6563269f", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "There were 3 systems that could not be featurized!\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# not all systems maybe featurizable and will be removed, e.g. erroneous SMILES\n", - "# here certain ChEMBL data points are for kinases that are not available in KLIFS\n", - "chembl.featurize(OneHotEncodedSequenceFeaturizer(sequence_type=\"klifs_kinase\"))\n", - "chembl" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb deleted file mode 100644 index 777b9093..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb +++ /dev/null @@ -1,12946 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ]\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}\n", - "#HERE = \".\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:16.674245\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4320db44cb294fb482898cbd05856b95", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'pIC50Measurement')\n", - "('valid', 'pKdMeasurement')\n", - "('valid', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:51:51.390702\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:51:51.400767+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:51:51 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 20W / 80W | 49MiB / 16384MiB | 17% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:59.212444\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "45d3b3578af9425a934b8a25e5b39d9f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2498±0.0533 95CI=(0.1692, 0.3305)\n", - " MSE: 0.1704±0.0794 95CI=(0.0651, 0.3030)\n", - " R2: 0.8635±0.0715 95CI=(0.7471, 0.9571)\n", - "RMSE: 0.4013±0.0969 95CI=(0.2551, 0.5504)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2738±0.0872 95CI=(0.1629, 0.4197)\n", - " MSE: 0.2104±0.1424 95CI=(0.0542, 0.4710)\n", - " R2: 0.7849±0.2243 95CI=(0.4298, 0.9582)\n", - "RMSE: 0.4323±0.1535 95CI=(0.2328, 0.6863)\n" - ] - }, - { - "data": { - "image/png": "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6emJxo0bG9S2TZs2yM3NhYuLCxo0aKC1TfPmzXH06FGMGDFCvezo0aM699mkSRN4eHhgz549GDNmTLn1ZffMSkpK1Mv8/PxQt25dXL16FcOGDdO637CwMHz22Wf466+/1KGprw4ia+ElRyIreOaZZxAREYGBAwfi22+/xbVr13D48GHMnj0bJ06cAAC8/vrrWLt2LdauXYuLFy8iPj4eP//8s859uru7Y/r06fj3v/+NTz/9FFeuXMHRo0exZs0aAICvry88PDywa9cu/P7771AqlQAePqydmJiI999/HxcvXsSZM2ewbt06vPvuuwCAoUOHwsnJCXFxcTh79ixSU1OxdOlSM/8LEVUeA43ICmQyGVJTU/H0009j9OjRaNq0KYYMGYJr167Bz88PADB48GDMnTsX06dPR9u2bXH9+nWMHz9e737nzJmDadOmYe7cuWjevDkGDx6MmzdvAgBcXFzwwQcfYNWqVQgMDMSzzz4LABgzZgw++eQTJCcno1WrVoiMjERycrK6m3/16tWxY8cOnD17FuHh4Zg1axaWLFlixn8dIuPIBC+QExGRBPAMjYiIJIGBRkREksBAIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGRESSwEAjIiJJYKAREZEk/B+wnZ9CyIFEmgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2216±0.0618 95CI=(0.1283, 0.3213)\n", - " MSE: 0.1199±0.0543 95CI=(0.0401, 0.2115)\n", - " R2: 0.8932±0.0709 95CI=(0.7751, 0.9764)\n", - "RMSE: 0.3358±0.0849 95CI=(0.2002, 0.4599)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2354±0.0052 95CI=(0.2264, 0.2442)\n", - " MSE: 0.1034±0.0058 95CI=(0.0939, 0.1138)\n", - " R2: 0.9486±0.0028 95CI=(0.9436, 0.9527)\n", - "RMSE: 0.3214±0.0089 95CI=(0.3065, 0.3373)\n" - ] - }, - { - "data": { - "image/png": "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JvLTTz+hSpUq8PT0RHR0NLp06YJPPvkEAFCnTh3UrFlT1fa3337Dw4cPUb16dVSpUkX1yMzMREZGBgDg/PnziI6OVnuPss+fdv78eRQXF6Nnz55613z79m1kZWVh3LhxanXMnz9frY7mzZvD29tbrzqIrIVdjkQm0r17d6xatQru7u4ICQlRG/jh4+Oj1lahUCA4OBhJSUkax6latapR7+/l5WXwPgqFAsCTbsf27durvabsGhVcYYrsBAONyER8fHzQoEEDvdq2atUKOTk5cHNzQ926dbW2adq0KVJSUvDKK6+otqWkpOg8ZsOGDeHl5YV9+/bhtdde03hdec1MLpertgUGBiI0NBRXr17FyJEjtR43IiICX331Ff7++29VaJZXB5G1sMuRyAp69eqF6OhoPPfcc/j1119x7do1HDt2DLNnz8apU6cAAFOnTsWXX36JL7/8EpcuXUJ8fDz++OMPncf09PTEjBkz8N577+E///kPMjIykJKSgrVr1wIAAgIC4OXlhV27duGvv/5Cfn4+gCc3aycmJmL58uW4dOkSzp07h3Xr1mHJkiUAgBEjRsDFxQXjxo1Deno6du7ciY8++sjMf0JEhmOgEVmBRCLBzp070aVLF7z66qto1KgRhg8fjmvXriEwMBAA8NJLL2Hu3LmYMWMGWrdujevXr2PixInlHnfOnDmYPn065s6di6ZNm+Kll15Cbm4uAMDNzQ0ff/wxVq9ejZCQEAwZMgQA8Nprr+GLL77A+vXrERUVha5du2L9+vWqYf5VqlTBjh07kJ6ejpYtW+L999/HokWLzPinQ2QciWAHOREROQCeoRERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUP4f7S6eFnqijPBAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2321±0.0073 95CI=(0.2209, 0.2425)\n", - " MSE: 0.1017±0.0077 95CI=(0.0898, 0.1157)\n", - " R2: 0.9498±0.0041 95CI=(0.9416, 0.9555)\n", - "RMSE: 0.3186±0.0120 95CI=(0.2997, 0.3402)\n" - ] - }, - { - "data": { - "image/png": "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89k3fr7yCSFw7949hIaGwsXF8JUyh+9ydHFxKTPRK8LPz88h/4NT4+ezb/x89o2fr2wKhaLcNk4zKISIiBwbA42IiBwCA80IcrkcCQkJkMvlUpdiEfx89o2fz77x85mPww8KISIi58AzNCIicggMNCIicggMNCIicggMNCIicggMtP+zcuVKhIeHw9PTE61bt8aBAwfKbL9v3z60bt0anp6eqFevHj777DMrVVoxiYmJePrpp+Hr64vAwEAMHDgQFy9eLHOflJQUyGQyncfvv/9upaqNN3/+fJ06g4ODy9zHXr47AKhbt67e72LSpEl629v6d7d//370798foaGhkMlk2Lp1q9brQgjMnz8foaGh8PLyQpcuXXD+/Plyj7tp0yZERERALpcjIiICW7ZssdAnKFtZn6+kpASzZs1CVFQUfHx8EBoailGjRuGPP/4o85hJSUl6v9OioiILfxpd5X1/o0eP1qmzXbt25R7XXN8fAw3At99+i2nTpuHtt9/GqVOn8Mwzz6B37964ceOG3vaZmZno06cPnnnmGZw6dQr/+Mc/MGXKFGzatMnKlZdv3759mDRpEo4ePYpdu3ahtLQUsbGxKCwsLHffixcvIjs7W/No2LChFSquuGbNmmnVee7cOYNt7em7A4ATJ05ofbZdu3YBAIYMGVLmfrb63RUWFqJ58+ZYsWKF3teXLl2KDz/8ECtWrMCJEycQHByMnj174t69ewaPeeTIEbzwwgsYOXIkzpw5g5EjR2Lo0KE4duyYpT6GQWV9vgcPHiA1NRXz5s1DamoqNm/ejEuXLmHAgAHlHtfPz0/r+8zOzoanp6clPkKZyvv+ACAuLk6rzh07dpR5TLN+f4JEdHS0ePXVV7W2NWnSRMyePVtv+7feeks0adJEa9uECRNEu3btLFajueTm5goAYt++fQbb7N27VwAQd+/etV5hJkpISBDNmzc3ur09f3dCCDF16lRRv359oVKp9L5uT98dALFlyxbNc5VKJYKDg8XixYs124qKioRCoRCfffaZweMMHTpUxMXFaW3r1auXGDZsmNlrrognP58+x48fFwDE9evXDbZZt26dUCgU5i3ODPR9vvj4ePHss89W6Djm/P6c/gzt4cOH+O233xAbG6u1PTY2FocPH9a7z5EjR3Ta9+rVCydPnkRJSYnFajWH/Px8AIC/v3+5bVu2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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2386±0.0071 95CI=(0.2269, 0.2499)\n", - " MSE: 0.1052±0.0082 95CI=(0.0934, 0.1183)\n", - " R2: 0.9472±0.0038 95CI=(0.9413, 0.9527)\n", - "RMSE: 0.3241±0.0126 95CI=(0.3056, 0.3439)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ0UlEQVR4nO3deVxU5f4H8M+wDYswisqmqLiLILmLmluKmktmZmoampmZlqSVetPQsov662aZV6+ZiWXe6uaWZeQKrqSGO+aCqGQQigkIgcg8vz+8M5eBGRiGWc6Z+bxfr3m9mjPPOfMdJvlwnvOc51EIIQSIiIhkzsnWBRAREZkDA42IiOwCA42IiOwCA42IiOwCA42IiOwCA42IiOwCA42IiOwCA42IiOwCA42IiOwCA42Mkp+fjzfffBNRUVGoX78+FAoFFi5cqLftoUOH8MILL6Bjx45QKpVQKBS4du1ahXYFBQUYM2YMWrVqBW9vb3h5eaFt27ZYvHgxCgoKdNr+9ttviImJQe/evVG7dm0oFArEx8eb/4MCUCgUmDFjRoXtf/zxB+bOnYvw8HDUqlUL7u7uaNGiBWbOnInLly9r28XHx0OhUOh9ZGVlVTjunj17EBkZCU9PT9SrVw8TJ05Edna2TpvExETtMQx97n79+kGhUKBJkyY1+vxUc0eOHMHChQtx9+5dW5fiUBhoZJScnBx88sknKC4uxogRIyptu3fvXuzZsweNGjVC9+7dDbYrKSmBEAKzZs3C5s2bsX37djz11FN455138MQTT+i0vXLlCr788ku4ubnh8ccfN8dHqpZjx44hPDwc69atw6hRo7BlyxYkJCTg9ddfR0pKCrp06VJhn/Xr1+Po0aM6j7p16+q0SUpKwuDBg+Hv74/t27fjo48+wp49e/DYY4+huLi4wjG9vb2xbt26CtvT09ORmJgIHx8f831oMtmRI0ewaNEiBpq1CSIjqNVqoVarhRBC3Lp1SwAQsbGxetuWlpZq//v//u//BACRnp5u9Hu9+eabAoBIS0vTe8zjx48LAGL9+vXV+gzGAiCmT5+ufZ6bmysCAgJEcHCwyMjI0LvPf/7zH+1/r1+/XgAQx48fr/K9OnfuLEJDQ0VJSYl22+HDhwUAsWrVKu22/fv3CwDihRdeEADEpUuXdI4zf/580bBhQzF48GDRuHFjYz+qJN2/f1/n5yFHpvx/TzXHMzQyiqa7yxhOTjX736p+/foAABcXF7Mds0+fPggLC8PBgwfRrVs3eHh4oEGDBliwYAFKS0sr3Xft2rXIysrCsmXL0LBhQ71tRo0aVe2abt68iePHj2PChAk6n7V79+5o2bIltm7dWmGfAQMGIDg4GJ999pl2m1qtxoYNGxAdHa335ySEwKpVq/DII4/Aw8MDderUwahRo3D16lWddrt378YTTzyBhg0bwt3dHc2bN8fUqVNx+/ZtnXa3bt3Ciy++iODgYCiVStSvXx89evTAnj17tG2aNGmCiRMnVqilT58+6NOnj/a5piv1iy++wOzZs9GgQQMolUpcuXIFALRnqz4+PvD09ESPHj2wd+9enWMuXLgQCoUCZ86cwdNPPw2VSgVfX1/MmjULDx48wMWLFzFo0CB4e3ujSZMmWLZsWYW68vLy8PrrryMkJARubm5o0KABYmJiKnR9a7qjv/jiC7Rp0waenp6IiIjA999/r1PPG2+8AQAICQnR/ttJTEys8L5kXgw0sjkhBB48eIC8vDwkJCTgH//4B8aOHYtGjRqZ9X2ysrIwZswYPPvss9i+fTtGjRqFxYsXY+bMmZXut2vXLjg7O2PYsGHVer+hQ4fC2dkZvr6+GDlyJM6dO6fzuuZ5u3btKuzbrl27Cu2Bh8E+ceJEfP7559og3rVrF3777TdMmjRJbx1Tp05FTEwM+vfvj23btmHVqlU4f/48unfvjj/++EPbLi0tDZGRkVi9ejV27dqFt99+Gz///DN69uyJkpISbbsJEyZg27ZtePvtt7Fr1y58+umn6N+/P3Jycqr18ylr3rx5uHHjBv71r39hx44d8PPzw8aNGxEVFQUfHx9s2LAB33zzDXx9fTFw4MAKoQYAo0ePRkREBDZv3owpU6Zg+fLleO211zBixAgMGTIEW7duRb9+/TBnzhxs2bJFu19hYSF69+6NDRs24NVXX8WPP/6IOXPmID4+HsOHD4cotyDJDz/8gJUrV+Kdd97B5s2b4evriyeffFL7B8ILL7yAV155BQCwZcsWbXdzhw4dTP75kJFsfIZIMlRVl2NZxnS9/Pvf/xYAtI9JkyZV2uVkSpdj7969BQCxfft2ne1TpkwRTk5O4vr169ptKNfl2Lp1axEQEGD0e/3444/irbfeEjt27BBJSUli5cqVomHDhsLLy0ucOnVK2+7LL78UAMTRo0crHOPFF18Ubm5u2ueaLsf//Oc/4urVq0KhUIjvv/9eCCHE008/Lfr06SOEEGLIkCE6XY5Hjx4VAMQ//vEPneNnZGQIDw8P8eabb+r9DGq1WpSUlIjr169X+LnVqlVLxMTEVPozaNy4sYiOjq6wvXfv3qJ3794VPlevXr102hUUFAhfX18xbNgwne2lpaUiIiJCdOnSRbstNjZW72d85JFHBACxZcsW7baSkhJRv359MXLkSO22uLg44eTkVKGL+NtvvxUAxM6dO7XbAAh/f3+Rl5en3ZaVlSWcnJxEXFycdhu7HG2DZ2hkcwMHDsTx48exb98+vPfee9i8eTOeeuopqNVqs76Pt7c3hg8frrNt3LhxUKvVOHDggNneZ9CgQVi8eDGGDh2KXr16Yfr06Th48CAUCgXefvvtCu0NdeUa2h4SEoI+ffrgs88+Q05ODrZv347nn39eb9vvv/8eCoUC48ePx4MHD7SPgIAARERE6HSDZWdn46WXXkJwcDBcXFzg6uqKxo0bAwAuXLigbdelSxfEx8dj8eLFSE5O1jl7M9VTTz2l8/zIkSO4c+cOoqOjdepWq9UYNGgQjh8/XqE7cOjQoTrP27RpA4VCgcGDB2u3ubi4oHnz5rh+/brOzygsLAyPPPKIznsNHDhQb1dh37594e3trX3u7+8PPz8/nWOSbbhU3YTIsurUqYNOnToBePjLolmzZhgzZgy2b9+OJ5980mzv4+/vX2FbQEAAAFTaXdaoUSNcvnwZBQUF8PLyMum9mzRpgp49eyI5OVm7TTPiUd9737lzB76+vgaPN3nyZEyaNAkffPABPDw8DF7D++OPPyCE0PvZAaBp06YAHl6Hi4qKwu+//44FCxYgPDwcXl5eUKvV6NatG/766y/tPl9//TUWL16MTz/9FAsWLECtWrXw5JNPYtmyZdqfZ3UFBgZWqBuo/NrknTt3dL6P8j8vNzc3eHp6wt3dvcL2vLw8nfe6cuUKXF1d9b5P+WuI5UeqAoBSqdT5GZFtMNBIcjRD4C9dumTW45a9XqShuS9M3y8pjYEDB2LXrl3YsWMHxowZY/L7CyF0Bm2EhYUBAM6ePVvhVoSzZ89qX9dn5MiRmD59OpYsWYIpU6bAw8NDb7t69epBoVDg4MGDUCqVFV7XbDt37hxOnz6N+Ph4REdHa1/XDM4of8wPP/wQH374IW7cuIHvvvsOc+fORXZ2NhISEgAA7u7uem87uH37NurVq1dhe/mzUU2bjz/+GN26ddP72QyFdHXVq1cPHh4eOgNt9NVC0scuR5Kc/fv3AwCaN29u1uPm5+fju+++09m2adMmODk5oVevXgb3mzx5MgICAvDmm2/i5s2betuUHWSgT3p6Og4fPqzzy7lBgwbo0qULNm7cqDPSMjk5GRcvXsTIkSMNHs/DwwNvv/02hg0bhmnTphlsN3ToUAghcPPmTXTq1KnCIzw8HMD/AqV86K1Zs6bSz9WoUSPMmDEDAwYMQEpKinZ7kyZNcObMGZ22ly5dwsWLFys9nkaPHj1Qu3ZtpKam6q27U6dOcHNzM+pYVRk6dCjS0tJQt25dve9jyo3qmp8jz9qsi2doZLQff/wRBQUFyM/PBwCkpqbi22+/BQA8/vjj8PT0BPBwWHdSUhKAh2camn3r16+P+vXro3fv3gAe/rI8ePAgoqKiEBwcjIKCAhw8eBAff/wxunfvXuHmas17aUaTnThxArVq1QJg3LD5unXrYtq0abhx4wZatmyJnTt3Yu3atZg2bVqlIypVKhW2b9+OoUOHon379pgxYwYiIyPh5uaGy5cvY+PGjTh9+rQ2gPr3749evXqhXbt28PHxwdmzZ7Fs2TIoFAq8++67OsdeunQpBgwYgKeffhovv/wysrOzMXfuXISFhRkctagxa9YszJo1q9I2PXr0wIsvvohJkybhxIkT6NWrF7y8vJCZmYlDhw4hPDwc06ZNQ+vWrdGsWTPMnTsXQgj4+vpix44d2L17t87xcnNz0bdvX4wbNw6tW7eGt7c3jh8/joSEBJ0AnjBhAsaPH4+XX34ZTz31FK5fv45ly5Zpb8moSq1atfDxxx8jOjoad+7cwahRo+Dn54dbt27h9OnTuHXrFlavXm3UsaoSExODzZs3o1evXnjttdfQrl07qNVq3LhxA7t27cLs2bPRtWvXah1T84fCRx99hOjoaLi6umpnxCELsu2YFJKTxo0b64xGLPsoO5pLM3JN36PsCLfDhw+LoUOHiqCgIOHm5iY8PT1FRESEePfdd0VBQUGF9zd0TGP+N+7du7do27atSExMFJ06dRJKpVIEBgaKv/3tbxVGVKLcKEeNrKwsMWfOHNG2bVvh6ekplEqlaN68uZg6dao4e/astl1MTIwIDQ0V3t7ewsXFRQQFBYnx48eLixcv6q1t165dolu3bsLd3V34+vqK5557Tvzxxx86bcqOcqxM+VGOGp999pno2rWr8PLyEh4eHqJZs2biueeeEydOnNC2SU1NFQMGDBDe3t6iTp064umnnxY3btzQGdFaVFQkXnrpJdGuXTvh4+MjPDw8RKtWrURsbKzOd6ZWq8WyZctE06ZNhbu7u+jUqZPYt2+fwVGOhj5XUlKSGDJkiPD19RWurq6iQYMGYsiQITrtNaMcb926pbNvdHS08PLyqnBMzf8LZd27d0/Mnz9ftGrVSri5uQmVSiXCw8PFa6+9JrKysrTtDP2/oW9U57x580RQUJBwcnISAMT+/fv1fkYyH4UQ5W6yILJDffr0we3bt/Xe20VE9oHX0IiIyC4w0IiIyC6wy5GIiOwCz9CIiMguMNCIiMguMNCIiMgu2P2N1Wq1Gr///ju8vb2NXs+LiIikQwiB/Px8BAUFVbo2ot0H2u+//47g4GBbl0FERDWUkZFhcJFdwAECTTPVTEZGBnx8fGxcDRERGeNoWg6mb0rB/QdqRAZ74JvZw6qcOszuA03Tzejj48NAIyKSgUOXb+PVzb/igbM7BrT1w5LhzfHNbMNrBGpwUAgREUnGocu3MXnDcRQ/UOOx1n5YNb4DlC7ORu3LQCMiIkkoG2b9qhlmAAONiIgkoPyZ2epqhhnAQCMiIhurSTdjWQw0IiKymcNXzBNmAAONiIhs5PCV23g+3jxhBjDQiIjIBswdZgADjYiIrMwSYQYw0IiIyIosFWYAA42IiKzEkmEGMNCIiMgKLB1mAAONiIgs7NBly4cZwEAjIiILMtdN08ZgoBERkUVYM8wABhoREVmAtcMMYKAREZGZ2SLMAAYaERGZUU2XgKkJBhoREZmFOZaAqQkGGhER1ZituhnLYqAREVGNmHMJmJpgoBERkcmsMQOIsRhoRERkEimFGcBAIyIiE0gtzAAGGhERVZMUwwxgoBERUTVINcwABhoRERlJymEGMNCIiMgIUg8zgIFGRERVkEOYAQw0IiKqhFzCDGCgERGRAXIKM4CBRkREesgtzAAGGhERlSPHMANsHGgHDhzAsGHDEBQUBIVCgW3bthlsO3XqVCgUCnz44YdWq4+IyNHINcwAGwdaQUEBIiIisHLlykrbbdu2DT///DOCgoKsVBkRkeORc5gBgIst33zw4MEYPHhwpW1u3ryJGTNm4KeffsKQIUOsVBkRkWORe5gBNg60qqjVakyYMAFvvPEG2rZta9Q+xcXFKC4u1j7Py8uzVHlERHbBHsIMkPigkKVLl8LFxQWvvvqq0fvExcVBpVJpH8HBwRaskIhI3uwlzAAJB9ovv/yCjz76CPHx8VAoFEbvN2/ePOTm5mofGRkZFqySiEi+7CnMAAkH2sGDB5GdnY1GjRrBxcUFLi4uuH79OmbPno0mTZoY3E+pVMLHx0fnQUREuuwtzAAJX0ObMGEC+vfvr7Nt4MCBmDBhAiZNmmSjqoiI5M8ewwywcaDdu3cPV65c0T5PT0/HqVOn4Ovri0aNGqFu3bo67V1dXREQEIBWrVpZu1QiIrtgr2EG2DjQTpw4gb59+2qfz5o1CwAQHR2N+Ph4G1VFRGSf7DnMABsHWp8+fSCEMLr9tWvXLFcMEZEds/cwAyQ8KISIiMzDEcIMYKAREdk1RwkzgIFGRGS3HCnMAAYaEZFdcrQwAxhoRER2xxHDDGCgERHZFUcNM4CBRkRkNxw5zAAGGhGRXXD0MAMYaEREsscwe4iBRkQkY4cuM8w0GGhERDJ16PJtTN7AMNNgoBERyRDDrCIGGhGRzDDM9GOgERHJCMPMMAYaEZFMlA2zfgyzChhoREQyUP7MbDXDrAIGGhGRxLGb0TgMNCIiCTt8hWFmLAYaEZFEcQaQ6mGgERFJEMOs+hhoREQSwzAzDQONiEhCGGamY6AREUkEw6xmGGhERBLAMKs5BhoRkY1xCRjzYKAREdkQb5o2HwYaEZGNMMzMi4FGRGQDDDPzY6AREVkZw8wyGGhERFbEJWAsh4FGRGQlXALGshhoRERWwG5Gy2OgERFZGJeAsQ4GGhGRBXEGEOuxaaAdOHAAw4YNQ1BQEBQKBbZt26Z9raSkBHPmzEF4eDi8vLwQFBSE5557Dr///rvtCiYiqgaGmXXZNNAKCgoQERGBlStXVnitsLAQKSkpWLBgAVJSUrBlyxZcunQJw4cPt0GlRETVwzCzPoUQQti6CABQKBTYunUrRowYYbDN8ePH0aVLF1y/fh2NGjUy6rh5eXlQqVTIzc2Fj4+PmaolIjKMYWZexv4ed7FiTTWWm5sLhUKB2rVrG2xTXFyM4uJi7fO8vDwrVEZE9BDDzHZkMyikqKgIc+fOxbhx4ypN6Li4OKhUKu0jODjYilUSkSNjmNmWLAKtpKQEY8aMgVqtxqpVqyptO2/ePOTm5mofGRkZVqqSiBwZw8z2JN/lWFJSgtGjRyM9PR379u2r8jqYUqmEUqm0UnVERAwzqZB0oGnC7PLly9i/fz/q1q1r65KIiHQwzKTDpoF27949XLlyRfs8PT0dp06dgq+vL4KCgjBq1CikpKTg+++/R2lpKbKysgAAvr6+cHNzs1XZREQAGGZSY9Nh+4mJiejbt2+F7dHR0Vi4cCFCQkL07rd//3706dPHqPfgsH0isgSGmfXIYth+nz59UFmeSuQWOSIiHQwzaZLFKEciIqlgmEkXA42IyEgMM2ljoBERGYFhJn0MNCKiKjDM5IGBRkRUCYaZfDDQiIgMYJjJi6RnCiEieSlVCxxLv4Ps/CL4ebujS4gvnJ0UkjumMRhm8sNAIyKzSDiXiUU7UpGZW6TdFqhyR+ywUAwKC5TMMY3BMJMndjkSUY0lnMvEtI0pOsEDAFm5RZi2MQUJ5zIlcUxjMMzki4FGRDVSqhZYtCMV+ub10WxbtCMVpWrjZ/6xxDGNwTCTNwYaEdXIsfQ7Fc6iyhIAMnOLcCz9jk2PWRWGmfwx0IioRrLzDQePKe0sdczKMMzsAwONiGrEz9vdrO0sdUxDGGb2g4FGRDXSJcQXgSp3GBpIr8DDkYldQnxtekx9GGb2hYFGRDXi7KRA7LBQAKgQQJrnscNCq3XvmCWOWR7DzP4w0IioxgaFBWL1+A4IUOl2AQao3LF6fAeT7hmzxDE1GGb2yaYrVlsDV6wmsh45zBTCMJMfWaxYTUT2xdlJgchmdSV7TIaZfWOXIxE5BIaZ/eMZGhHJTnW7IRlmjoGBRkSyUt0Jiw9dvo3JGxhmjoBdjkQkG9WdsJhh5lgYaEQkC9WdsJhh5njY5UhEslCdCYtL1YJh5oAYaEQkC8ZORHzw8i2sO5TOMHNADDQikgVjJyJee/AqSkoF+jHMHA6voRGRLFQ1YbFGSanAY639sJph5nAYaEQkC5VNWFwWuxkdFwONiGTD0ITFGgwzx8ZraERkE6ZOOjwoLBADQgNwLP0ODl6+pb1mxjAjBhoRWV11Z/soz9lJAbUQWHconWFGWuxyJCKrqu5sH/pwbkbSh4FGRFZT3dk+9GGYkSEMNCIyq1K1wNG0HGw/dRNH03J0wqk6s33owzCjytg00A4cOIBhw4YhKCgICoUC27Zt03ldCIGFCxciKCgIHh4e6NOnD86fP2+bYomoSgnnMtFz6T6MXZuMmV+dwti1yei5dJ+2G9HY2T70tWOYUVVsGmgFBQWIiIjAypUr9b6+bNkyfPDBB1i5ciWOHz+OgIAADBgwAPn5+VaulIiqYsy1MWNn+yjf7tBlhhlVzaajHAcPHozBgwfrfU0IgQ8//BBvvfUWRo4cCQDYsGED/P39sWnTJkydOtWapRJRJaq6NqbAw2tjSW/0RW1PV9wtLNF7HAWAANXDIfwanDWfjCXZa2jp6enIyspCVFSUdptSqUTv3r1x5MgRg/sVFxcjLy9P50FElqG5XrZ890Wjro2tTrxiMMw07WKHhWrvR2OYUXVI9j60rKwsAIC/v7/Odn9/f1y/ft3gfnFxcVi0aJFFayMi/feSVWX94WuVvl7b0xUDQgMAMMyo+iR7hqahUOjOHCCEqLCtrHnz5iE3N1f7yMjIsHSJRA7H0PWyqtz9y/DZGQDcLSzBsfQ7DDMyiWTP0AICHv6VlpWVhcDA/80ckJ2dXeGsrSylUgmlUmnx+ogcVWXXy8yh7HpmXAKGqkOyZ2ghISEICAjA7t27tdvu37+PpKQkdO/e3YaVETm2qu4lq6m1B69qz8y4BAxVh03P0O7du4crV65on6enp+PUqVPw9fVFo0aNEBMTg7///e9o0aIFWrRogb///e/w9PTEuHHjbFg1kWMz9l4yU3FuRjKVTQPtxIkT6Nu3r/b5rFmzAADR0dGIj4/Hm2++ib/++gsvv/wy/vzzT3Tt2hW7du2Ct7e3rUomcnjG3ktmKoYZmUohhLBUV7gk5OXlQaVSITc3Fz4+PrYuh0iWyi71Uq+WErO/OYWsvGKzvw/DjPQx9ve4ZAeFEJE06BueX9vT1WzHd3ZSoFTNbkaqOQYaERmkGZ5fvhunspujq6tULTiakcyCgUZEOjTdi1m5f+HdHy5YbHh+WRO7N2GYUY0x0IhIy5TZP8zhz8L7Vn0/sk8MNCICYLh70RosPXKSHAMDjYgsPvuHIfpm1ycylWRnCiEi67H07B+VKTu7PlFNMNCIyOKzf+jj6+WK1eM7YFBYYNWNiYzALkciQr1a1p3Q28fdBcnz+sPNhX9Tk/nw/yYiB5dwLhOzvzll1fdcMrIdw4zMjmdoRA7MFiMbp/YKwePt2M1I5sdAI3JApWqB5Ks5mLv5rNXCzM3ZCR8+E4HH2wVZ6R3J0TDQiBzMzjOZmL/9HO4UWPdm5r8/GcYwI4tioBE5kLidqVhzIN0m7537l/nmfyTSh4FGJFNll3Tx8354c3Jl93PtPPO7zcIMAHy93Gz23uQYGGhEMqRvzsVAlTtih4Xqva+rVC3wxuYz1iyxggCVh03fn+wfx80SyYxmZGL5mT2ycoswbWMKEs5lVthn5b4rKCgutVaJFQRyeiuyAgYakYxUNueiZtuiHakoVQudfT47bLuuRoDTW5F1MNCIZKSqORcFgMzcIhxLv6Ozj60GZCgUwKpx7Tm9FVmF0dfQVqxYYfRBX331VZOKIaLKGTvn4uErt7WDRHadr9gFaS0rxrTnUH2yGqMDbfny5TrPb926hcLCQtSuXRsAcPfuXXh6esLPz4+BRmQBpWqB2/nFRrVduf8KNqf8hqHtAhF/5LqFK9NvWLsADItgmJH1GB1o6en/64PftGkTVq1ahXXr1qFVq1YAgIsXL2LKlCmYOnWq+askcnCmrCSdmVuEtQdtc+3My80ZH47pYJP3JselEEJUe+abZs2a4dtvv0X79u11tv/yyy8YNWqUTvjZWl5eHlQqFXJzc+Hj42PrcoiqzZYrSZvqtf4tMbN/C1uXQXbC2N/jJg0KyczMRElJxYvMpaWl+OOPP0w5JBHpYauVpGuitqcrZvRrbusyyAGZFGiPPfYYpkyZghMnTkBzgnfixAlMnToV/fv3N2uBRI7MlitJm2rJyHAO0SebMCnQPvvsMzRo0ABdunSBu7s7lEolunbtisDAQHz66afmrpHIYdliJWlTBarc8S+uQE02ZNLUV/Xr18fOnTtx6dIl/PrrrxBCoE2bNmjZsqW56yNyaH7e7rYuwSi+Xq5IeqMvF+0km6rRXI5NmjSBEALNmjWDiwunhSQyty4hvghUuSMrt0jS19HuFJTgl+t/IrJZXVuXQg7MpD+nCgsLMXnyZHh6eqJt27a4ceMGgIc3VC9ZssSsBRI5MmcnBWKHhQIApH5VSk7do2SfTAq0efPm4fTp00hMTIS7+/+6RPr374+vv/7abMURETAoLBCrx3dAgEra3Y9y6R4l+2VSP+G2bdvw9ddfo1u3blAo/vd3Y2hoKNLS0sxWHJGjMbTG2aCwQAwIDcCx9Ds4fOUWVu6Xzr8zBYAAzqZPEmBSoN26dQt+fn4VthcUFOgEHBEZr6o1zpydFIhsVhefHpRWmAGcTZ+kwaQux86dO+OHH37QPteE2Nq1axEZGWmeyojsUKla4GhaDrafuomjaTnaZV6MXeNs55nfsffXW1avGwDqeLoiwEepsy1A5Y7VHKpPEmHSGVpcXBwGDRqE1NRUPHjwAB999BHOnz+Po0ePIikpyWzFPXjwAAsXLsSXX36JrKwsBAYGYuLEiZg/fz6cnDg8mOTF0BnYgiGhePeHytc4m/2f0/BwdsYb39pu1em4keHabs/yXaJEUmDSXI4AcPbsWbz//vv45ZdfoFar0aFDB8yZMwfh4eFmK+69997D8uXLsWHDBrRt2xYnTpzApEmTsHjxYsycOdOoY3AuR5ICQ/MxKgBJD8cHAHdXJ3z4zCM8CyObMfb3uMmBZg1Dhw6Fv78/1q1bp9321FNPwdPTE1988YVRx2Cgka2VqgV6Lt0nuymsAMDVWYHziwbxhmmyKYtOTty3b1+sW7cOubm5JhdojJ49e2Lv3r24dOkSAOD06dM4dOgQHn/8cYu+L5E5yXE+Ro3uzeoyzEg2TPo/NTw8HPPnz0dAQACeeuopbNu2Dffv3zd3bZgzZw7Gjh2L1q1bw9XVFe3bt0dMTAzGjh1rcJ/i4mLk5eXpPIhsSc43HPdqUd/WJRAZzaRAW7FiBW7evInt27fD29sb0dHRCAgIwIsvvmjWQSFff/01Nm7ciE2bNiElJQUbNmzA+++/jw0bNhjcJy4uDiqVSvsIDg42Wz1EppDrDcdOCmBCZBNbl0FkNLNcQysqKsKOHTvw3nvv4ezZsygtLTVHbQgODsbcuXMxffp07bbFixdj48aN+PXXX/XuU1xcjOLi/y1Tn5eXh+DgYF5DI5vRXEOT+nyM5U3tFYJ5j4faugwio6+h1XhG4aysLHz11VfYuHEjzpw5g86dO9f0kFqFhYUVhuc7OztDrVYb3EepVEKpVBp8ncjaNPMxTtuYIotRjQoF8OKjDDOSH5MCLS8vD5s3b8amTZuQmJiIpk2bYty4cfjqq6/QvLn5VqodNmwY3nvvPTRq1Aht27bFyZMn8cEHH+D5558323sQWYNmPsby96FJTa8W9fBpdGcOBCFZMqnL0cPDA3Xq1MHo0aPx7LPPmvWsrKz8/HwsWLAAW7duRXZ2NoKCgjB27Fi8/fbbcHNzM+oYHLZPUlJ2rsbb+cV494cLti5Jx0djHsETjzSwdRlEOix2H5oQAmvXrsX48ePh6elZ40ItjYFGUiXF+9P+PaUb1zQjybHYfWhCCMyYMQM3b96sUYFEjqjsXI7H0u9gwRDpXKcK5Iz5JHPVvobm5OSEFi1aICcnBy1atLBETUR2Sd9cjrU9XaF0cULxA8MDnaxlwZA2nJeRZM2kK7/Lli3DG2+8gXPnzpm7HiK7ZGg2/buFJZIIMwCo48XRwSRvJo1yHD9+PAoLCxEREQE3Nzd4eHjovH7nzh2zFEdkD0rVAot26J9NX0rkPKMJEWBioH344YdmLoPIfsllLke5zmhCpGFSoEVHR5u7DiK7JYczHw4IIXtg8t2TaWlpmD9/PsaOHYvs7GwAQEJCAs6fP2+24ojswZ7ULFuXUKXYYaEcEEKyZ1KgJSUlITw8HD///DO2bNmCe/fuAQDOnDmD2NhYsxZIJGf3H6jx/RnpBxqRPTAp0ObOnYvFixdj9+7dOjN29O3bF0ePHjVbcURy98XRa5IfDKIAsGhHKkrVUq+UqHImBdrZs2fx5JNPVthev3595OTk1LgoIrkpe8P00bQcbTisP5Ju48qqJgBk5hbhWDpHJ5O8mTQopHbt2sjMzERISIjO9pMnT6JBA84DR44l4VwmFn53Hll5/1u2KMBHiSHtAvHbn9IfEKIhh8ErRJUx6Qxt3LhxmDNnDrKysqBQKKBWq3H48GG8/vrreO6558xdI5FkJZzLxEsbU3TCDACy8oqx7tA12xRlIg7bJ7kzKdA0S7o0aNAA9+7dQ2hoKHr16oXu3btj/vz55q6RSJJK1QKzvjlt6zIq5enmjL8Nag2Vh+HOGAU4bJ/sg0ldjq6urvjyyy/x7rvvIiUlBWq1Gu3bt+fcjuRQVuy9jML75lmd3VIK75firwelyP3rgcE2Ahy2T/ahRitWN23aFE2bNkVpaSnOnj2LP//8E3Xq1DFXbUSSVaoW+PTgVVuXYZQ1Byqvs7anKwaEBlipGiLLManLMSYmBuvWrQMAlJaWonfv3ujQoQOCg4ORmJhozvqIJOlY+h0USPzsTKOqs8i7hSUc4Uh2waRA+/bbbxEREQEA2LFjB65evYpff/0VMTExeOutt8xaIJEU2duIQHv7POSYTAq027dvIyDgYRfFzp07MXr0aLRs2RKTJ0/G2bNnzVogkRTZ24hAe/s85JhMCjR/f3+kpqaitLQUCQkJ6N+/PwCgsLAQzs7OZi2QSArK3zjdsXEdBPjIPwQ4wpHsiUmDQiZNmoTRo0cjMDAQCoUCAwYMAAD8/PPPaN26tVkLJLI1fStNB6rc0alJHXx/JtOGlRmnjqcr/iwsgQLQmYZLM6aRIxzJXpgUaAsXLkRYWBgyMjLw9NNPQ6l8uNKts7Mz5s6da9YCiWxJs9J0+VkOs3KLZBFmCgBxI8MBoEIoB6jcETssFIPCAm1UHZF5KYQQdj0jaV5eHlQqFXJzc+Hj42PrckhGStUCPZfuk8XinPoElgusUrXAsfQ7yM4vgp/3w25GnpmRHBj7e9zk+9D27t2L5cuX48KFC1AoFGjdujViYmK019OI5E4uK02XNeKRIPRuWR8BKo8KgeXspEBks7o2rI7IskwaFLJy5UoMGjQI3t7emDlzJl599VX4+Pjg8ccfx8qVK81dI5FNyHEo+zOdG+HJDg0R2awuz77I4Zh0hhYXF4fly5djxowZ2m2vvvoqevTogffee09nO5FcyWkouwIPr4lxtCI5MpPO0PLy8jBo0KAK26OiopCXl1fjoohsSTNEPyv3L9RS1mh2OKvgaEWih0z61zp8+HBs3boVb7zxhs727du3Y9iwYWYpjMgWHq5tloqsPPl0N3K0ItFDRgfaihUrtP/dpk0bvPfee0hMTERkZCQAIDk5GYcPH8bs2bPNXyWRFWjWNpMTXy9XJL3RF24uJnW2ENkVo4ftl1+d2uABFQpcvSqdWcg5bJ+MUaoW6Lh4N+4Wlti6lGr795RuHL1Ids3sw/bT09MrbLt9+zYUCgXq1uU/JpK35Ks5sgwzQJ6jMYksodr9FHfv3sX06dNRr149+Pv7w8/PD/Xq1cOMGTNw9+5dC5RIZHlH03JsXYLJ5DQak8iSqjUo5M6dO4iMjMTNmzfx7LPPok2bNhBC4MKFC4iPj8fevXtx5MgRLvJJMiS9CXPKz72o73UO1Sf6n2oF2jvvvAM3NzekpaXB39+/wmtRUVF45513sHz5crMWSWRu5aeBuvJHvq1LqsDXyw2jOjbAJwcedvdzYmGiylVrLscmTZpgzZo1GDhwoN7XExIS8NJLL+HatWvmqq/GOCiEytM3e74ULR8dgSc7NDQ42z+H6pOjsMhcjpmZmWjbtq3B18PCwpCVlVWdQ1bp5s2bmDNnDn788Uf89ddfaNmyJdatW4eOHTua9X3IMRiaPV+KAlQeAIBBYYEYEBrAiYWJqlCtQKtXrx6uXbuGhg0b6n09PT3drCMe//zzT/To0QN9+/bFjz/+CD8/P6SlpaF27dpmew9yHKVqgUU7UiUfZvqujXFiYaKqVSvQBg0ahLfeegu7d++Gm5ubzmvFxcVYsGCB3imxTLV06VIEBwdj/fr12m1NmjQx2/HJvpW/TqZWC8l3M/LaGJHpqnUN7bfffkOnTp2gVCoxffp07erUqampWLVqFYqLi3HixAkEBwebpbjQ0FAMHDgQv/32G5KSktCgQQO8/PLLmDJlitHH4DU0x6TvulNtD1fc/Uva95rx2hhRRcb+Hq/2Ap/p6el4+eWXsWvXLmh2VSgUGDBgAFauXInmzZvXrPIy3N0f3l8za9YsPP300zh27BhiYmKwZs0aPPfcc3r3KS4uRnFxsfZ5Xl4egoODGWgORE7Xycqa0bc5XhvQkmdmROVYLNA0/vzzT1y+fBkA0Lx5c/j6mv9eGDc3N3Tq1AlHjhzRbnv11Vdx/PhxHD16VO8+CxcuxKJFiypsZ6A5BjmvMs0prIj0MzbQTJ7RtE6dOujSpQu6dOlikTADgMDAQISGhupsa9OmDW7cuGFwn3nz5iE3N1f7yMjIsEhtJE1yXGUaeNjV2LFxHRxNy8H2UzdxNC0HpWq5nWMS2ZakF3vq0aMHLl68qLPt0qVLaNy4scF9lEollEqlpUsjiTJ2XkNPVycUlqgtXI1xFACGRwSi9//t571mRDUg6TUnXnvtNSQnJ+Pvf/87rly5gk2bNuGTTz7B9OnTbV0aSZSx8xo6O0vjf/1AlTte7BWCTw6kVzizzMotwrSNKUg4l2mj6ojkRdJnaJ07d8bWrVsxb948vPPOOwgJCcGHH36IZ5991talkUR1CfFFoModWblFegeFKADU8XLFnQLrj3bU3F/2/qgI3C4ohp/3w27G3v+3X2+t4r/7LNqRigGhARwsQlQFSQcaAAwdOhRDhw61dRkkE85OCsQOC8W0jSkVJvfVxMHQ8EB8nmz4OqwllL2/rEeLetrtR9NyKr3mJwBk5hbhWPodDhghqoI0+l2IzGhQWCBWj++AAJVu92PAf7v3Nlo5zICHEw2vHt+hwvUwY6/5cc0zoqpJ/gyNqDo0s4MUP1Dj/acjAPEwDO4U3Me1nHtYc6DiQrXWMH9IG72DO4y95sc1z4iqxkAju6F3dhBPVwCw+WrUmomGyzPmmh/XPCMyDrscSfZK1QIf7bmElzamVLgedbewxOZhFlhJIGmu+QH/u86mwXkdiaqHgUaylnAuEz2W7MPyPZdtXYpBYzo3qjSQKrvmp++6GxHpxy5Hki25zNnYpJ5nlW245hlRzTHQSJbksrYZUI2bvbnmGVGNMNBIluQwZyMHdBBZF6+hkSxJ/b4sDuggsj4GGsmS1O7L8nJz1nnOAR1E1scuR5KlPwvuw0kBSGWFlcVPhiPAx50DOohsiIFGspNwLhMvb0qxdRk6buQU4sn2DWxdBpFDY5cjyUqpWmDulrO2LqOCD/dc4jIvRDbGQCNZSb6aY/OZPwxZtCOVq0wT2RADjWTlaFqOrUvQq+wyL0RkGww0khlpnwFJ/XYCInvGQCNZiWxar+pGNiS12wmIHAlHOZKsZOdJ8wyIs4IQ2R4DjWRjyufHsTs129ZlVMBZQYikgYFGsvDeD6mSDDPg4ZlZ7LBQzgpCZGMMNJK8+w/U+PRQutXf19fLDXcK7muf1/VywxOPBOGxNv6AAG4XFHNWECIJYaCR5M3bcgbCyoMbnRTA4Tn9cCrjLqezIpIJBhpJVqlaIOarFOw4k2X191YL4FTGXa5PRiQjDDSSpIRzmZi75axNZwXhPWVE8sJAI8lJOJeJaRtTbH4LNe8pI5IX3lhNklKqFli0I9XmYRbgo+Q9ZUQyw0AjSShVCxxNy8Hy3ReRmWu5rj6FApjyaEiV7RYOb8sBIEQywy5HsrmEc5lYtCPVokGm8c+x7fF4uyB0bFxH7zW62p6uWDIynPeUEckQA41sKuFcJl7aaPnFOgN8lFg4vK02qAaFBWJAaACSr+b8dwZ/gcim9dCtWV2emRHJFAONbMaSi3V6uTnjkwmdKr352dlJgR7N66FHc2lPeExExmGgkc2s3HfFYsPyx3drhB4tGFREjoSDQsgm7j9QY+3BNIsd/5MD6Ug4l6l9rhl0sv3UTRxNy+HK0kR2iGdoZHUJ5zLxt61nca+41KLvs2hHKgaEBmB3alaFQSeBnFCYyO7wDI2sSnPT9J0Cy84AIgBk5hZh5b7LmLYxpcIIyqzcIkzbmKJzFkdE8iarQIuLi4NCoUBMTIytSyET2OKm6fWHr+l9P822RTtS2f1IZCdkE2jHjx/HJ598gnbt2tm6FDLRsfQ7VrnXrKy7fxk+E9ScxR1Lv2O9gojIYmQRaPfu3cOzzz6LtWvXok6dOrYuh0xk7cl+a3u6GtWOkxAT2QdZBNr06dMxZMgQ9O/fv8q2xcXFyMvL03mQNFh7st9J3aue4grgJMRE9kLygfbVV18hJSUFcXFxRrWPi4uDSqXSPoKDgy1cIRmrS4gvVB7GnTXVhJMCWDWuA2b0a45AlTsMzfuhwMPRjpyEmMg+SDrQMjIyMHPmTGzcuBHu7sb9FT1v3jzk5uZqHxkZGRaukoy1OzULD9Rqi7/PyrHt8Xi7QDg7KRA7LBQAKoSa5nnssFBOdUVkJyQdaL/88guys7PRsWNHuLi4wMXFBUlJSVixYgVcXFxQWlrxPialUgkfHx+dB9meZrh+gYXvPQMApzIBNSgsEKvHd0CASvcPogCVO1aP78D70IjsiEIIIdkxy/n5+bh+/brOtkmTJqF169aYM2cOwsLCqjxGXl4eVCoVcnNzGW42UqoW6Ll0n1VGOCrwMKwOzemnc+ZVqhY4ln4H2flFBud2JCJpMvb3uKRnCvH29q4QWl5eXqhbt65RYUbSYM3h+mWH4kc2q6vd7uyk0HlORPZH0l2OJH+laoHDV26Z5Vi+Xq6Y0K2RUW05FJ/I8Uj6DE2fxMREW5dARqruwp2jOjTA5pSbAKAzu4emY/DvT4ZD5eGGL5JvVHksDsUncjw8QyOL0AwCMSbMNMPnl46KqHIAR5cQXw7FJyK9ZHeGRtJ3/4Eaf9t6zqg5G8sPn9esJG1oAIdmKP60jSlQQP+ZHIfiEzkmSY9yNAeOcrQuzdIwxs6mb+oyLvq6M7kkDJF9sotRjiQvmm5GY/9CmtG3OV4b0NKks6mqzuSIyPEw0MgsTFkapkfzejUKIA7FJ6KyGGhkFtW510xz8zMHbhCROTHQqEY0M3D8WM2Vnzlwg4jMjYFGJqvufWYaMf1bcuAGEZkdA41MUt0BIGU1qedp9nqIiHhjNVWbKQNAyuIsHkRkCTxDo2ozdbJhDgYhIkviGRpVmykT/3IWDyKyNJ6hUbWZ0mUYwFk8iMjCGGhUbSWl6kpfVwDw91HiH6Mfwe17xZzFg4isgoFG1XLo8m1M+fyEwdc1kbVweFv0aF7POkUREYHX0KicUrXA0bQcbD91E0fTclCq/t9YxkOXb2PyhuMofqDGY6398PHYRxBYyVIvRETWxDM00qpsBvtaSledMFs1vgOULs54PDyIEwQTkSRw+RgCYPhGac2aY67OCpSUCp0wIyKyBmN/j7PLkSq9UVqzraRUoB/DjIgkjIFGRt8oPbF7E4YZEUkWA42MvlH6z8L7Fq6EiMh0DDQy+kZpzsFIRFLGQCN0CfFFoModhsYmKvBwtCPnYCQiKWOgEZydFIgdFqp3UAjnYCQiuWCgEQCgltIVrs4VA4s3ShORXPDGatLOAKIZmj+xexP8WXifN0oTkaww0Bxc+emseJ8ZEckVuxwdGMOMiOwJA81BMcyIyN4w0BxQ2TDjdFZEZC8YaA6m/JnZaoYZEdkJBpoDYTcjEdkzBpqDOHyFYUZE9o2B5gAOX7mN5+MZZkRk3yQdaHFxcejcuTO8vb3h5+eHESNG4OLFi7YuS1YYZkTkKCQdaElJSZg+fTqSk5Oxe/duPHjwAFFRUSgoKLB1abLAMCMiR6IQQuibk1aSbt26BT8/PyQlJaFXr15G7WPs0t32hmFGRPbC2N/jspr6Kjc3FwDg62t4GZPi4mIUFxdrn+fl5Vm8LqlhmBGRI5J0l2NZQgjMmjULPXv2RFhYmMF2cXFxUKlU2kdwcLAVq7Q9hhkROSrZdDlOnz4dP/zwAw4dOoSGDRsabKfvDC04ONghuhwZZkRkj+yqy/GVV17Bd999hwMHDlQaZgCgVCqhVCqtVJl0MMyIyNFJOtCEEHjllVewdetWJCYmIiQkxNYlSRLDjIhI4oE2ffp0bNq0Cdu3b4e3tzeysrIAACqVCh4eHjauzvpK1QLH0u8gO79Iu/hm8tUchhkRESR+DU2h0L9S8vr16zFx4kSjjmEvw/YTzmVi0Y5UZOYWabf5erkiv+gBSkoFw4yI7JZdXEOTcNZaVcK5TEzbmILyP407BSUAgPAGPgwzInJ4shm276hK1QKLdqRWCLOybuUXw8WJXyUROTb+FpS4Y+l3dLoZ9cnKK8ax9DtWqoiISJoYaBKXnV95mFW3HRGRvWKgSZyft7tZ2xER2SsGmsR1CfGFr5erwdcVAAJVD4fwExE5MgaaxCVfzUF+0QO9r2luaogdFgpnJ/23OBAROQoGmoRpZgApKRUIb+CDAB/dKb0CVO5YPb4DBoUF2qhCIiLpkPR9aI5M33RWLk5OFWYK4ZkZEdFDDDQJqmxuxshmdW1cHRGRNLHLUWI40TARkWkYaBLCMCMiMh0DTSIYZkRENcNAkwCGGRFRzTHQbIxhRkRkHgw0G2KYERGZDwPNRhhmRETmxUCzAYYZEZH5MdCsjGFGRGQZDDQrYpgREVkOA81KGGZERJbFQLOCQ5cZZkRElsZAs7BDl29j8gaGGRGRpTHQLIhhRkRkPQw0C2GYERFZFwPNAhhmRETWx0Azs7Jh1o9hRkRkNQw0Myp/ZraaYUZEZDUMNDNhNyMRkW0x0Mzg8BWGGRGRrTHQaogzgBARSQMDrQYYZkRE0sFAMxHDjIhIWhhoJmCYERFJDwOtmhhmRETSJItAW7VqFUJCQuDu7o6OHTvi4MGDNqmDYUZEJF2SD7Svv/4aMTExeOutt3Dy5Ek8+uijGDx4MG7cuGHVOrgEDBGRtCmEEMLWRVSma9eu6NChA1avXq3d1qZNG4wYMQJxcXFV7p+XlweVSoXc3Fz4+PiYVANvmiYish1jf49L+gzt/v37+OWXXxAVFaWzPSoqCkeOHNG7T3FxMfLy8nQeNcEwIyKSB0kH2u3bt1FaWgp/f3+d7f7+/sjKytK7T1xcHFQqlfYRHBxs8vszzIiI5EPSgaahUCh0ngshKmzTmDdvHnJzc7WPjIwMk96TYUZEJC8uti6gMvXq1YOzs3OFs7Hs7OwKZ20aSqUSSqWyRu/LJWCIiORH0mdobm5u6NixI3bv3q2zfffu3ejevbtF3pNLwBARyZOkz9AAYNasWZgwYQI6deqEyMhIfPLJJ7hx4wZeeukls78XuxmJiORL8oH2zDPPICcnB++88w4yMzMRFhaGnTt3onHjxmZ9Hy4BQ0Qkb5K/D62mjLl/gTOAEBFJl13ch2YNDDMiIvvg0IHGMCMish8OG2gMMyIi++KQgcYwIyKyPw4XaAwzIiL75FCBxjAjIrJfkr8PzVyS03LwyuZfGWZERHbKYc7QXt6UwjAjIrJjDhNo9xlmRER2ze67HDUToUQGe2DJ8OYoLixAsY1rIiIi42kWaq5qYiu7n/rqt99+q9Ein0REJA0ZGRlo2LChwdftPtDUajV+//13eHt7G1wUtCp5eXkIDg5GRkZGpfOIyRU/n7zx88kbP1/VhBDIz89HUFAQnJwMXymz+y5HJyenShO9Onx8fOzyfzgNfj554+eTN36+yqlUqirbOMygECIism8MNCIisgsMNCMolUrExsZCqVTauhSL4OeTN34+eePnMx+7HxRCRESOgWdoRERkFxhoRERkFxhoRERkFxhoRERkFxho/7Vq1SqEhITA3d0dHTt2xMGDByttn5SUhI4dO8Ld3R1NmzbFv/71LytVWj1xcXHo3LkzvL294efnhxEjRuDixYuV7pOYmAiFQlHh8euvv1qpauMtXLiwQp0BAQGV7iOX7w4AmjRpove7mD59ut72Uv/uDhw4gGHDhiEoKAgKhQLbtm3TeV0IgYULFyIoKAgeHh7o06cPzp8/X+VxN2/ejNDQUCiVSoSGhmLr1q0W+gSVq+zzlZSUYM6cOQgPD4eXlxeCgoLw3HPP4ffff6/0mPHx8Xq/06KiIgt/moqq+v4mTpxYoc5u3bpVeVxzfX8MNABff/01YmJi8NZbb+HkyZN49NFHMXjwYNy4cUNv+/T0dDz++ON49NFHcfLkSfztb3/Dq6++is2bN1u58qolJSVh+vTpSE5Oxu7du/HgwQNERUWhoKCgyn0vXryIzMxM7aNFixZWqLj62rZtq1Pn2bNnDbaV03cHAMePH9f5bLt37wYAPP3005XuJ9XvrqCgABEREVi5cqXe15ctW4YPPvgAK1euxPHjxxEQEIABAwYgPz/f4DGPHj2KZ555BhMmTMDp06cxYcIEjB49Gj///LOlPoZBlX2+wsJCpKSkYMGCBUhJScGWLVtw6dIlDB8+vMrj+vj46HyfmZmZcHd3t8RHqFRV3x8ADBo0SKfOnTt3VnpMs35/gkSXLl3ESy+9pLOtdevWYu7cuXrbv/nmm6J169Y626ZOnSq6detmsRrNJTs7WwAQSUlJBtvs379fABB//vmn9QozUWxsrIiIiDC6vZy/OyGEmDlzpmjWrJlQq9V6X5fTdwdAbN26VftcrVaLgIAAsWTJEu22oqIioVKpxL/+9S+Dxxk9erQYNGiQzraBAweKMWPGmL3m6ij/+fQ5duyYACCuX79usM369euFSqUyb3FmoO/zRUdHiyeeeKJaxzHn9+fwZ2j379/HL7/8gqioKJ3tUVFROHLkiN59jh49WqH9wIEDceLECZSUlFisVnPIzc0FAPj6+lbZtn379ggMDMRjjz2G/fv3W7o0k12+fBlBQUEICQnBmDFjcPXqVYNt5fzd3b9/Hxs3bsTzzz9f5UTbcvnuykpPT0dWVpbO96NUKtG7d2+D/xYBw99pZftIRW5uLhQKBWrXrl1pu3v37qFx48Zo2LAhhg4dipMnT1qnQBMkJibCz88PLVu2xJQpU5CdnV1pe3N+fw4faLdv30ZpaSn8/f11tvv7+yMrK0vvPllZWXrbP3jwALdv37ZYrTUlhMCsWbPQs2dPhIWFGWwXGBiITz75BJs3b8aWLVvQqlUrPPbYYzhw4IAVqzVO165d8fnnn+Onn37C2rVrkZWVhe7duyMnJ0dve7l+dwCwbds23L17FxMnTjTYRk7fXXmaf2/V+beo2a+6+0hBUVER5s6di3HjxlU6aW/r1q0RHx+P7777Dv/+97/h7u6OHj164PLly1as1jiDBw/Gl19+iX379uEf//gHjh8/jn79+qG42PAqlOb8/ux+tn1jlf+LVwhR6V/B+trr2y4lM2bMwJkzZ3Do0KFK27Vq1QqtWrXSPo+MjERGRgbef/999OrVy9JlVsvgwYO1/x0eHo7IyEg0a9YMGzZswKxZs/TuI8fvDgDWrVuHwYMHIygoyGAbOX13hlT336Kp+9hSSUkJxowZA7VajVWrVlXatlu3bjoDK3r06IEOHTrg448/xooVKyxdarU888wz2v8OCwtDp06d0LhxY/zwww8YOXKkwf3M9f05/BlavXr14OzsXOGvgezs7Ap/NWgEBATobe/i4oK6detarNaaeOWVV/Ddd99h//79Ji2n061bN0n+RViel5cXwsPDDdYqx+8OAK5fv449e/bghRdeqPa+cvnuNKNTq/NvUbNfdfexpZKSEowePRrp6enYvXt3tZdUcXJyQufOnWXxnQYGBqJx48aV1mrO78/hA83NzQ0dO3bUjh7T2L17N7p37653n8jIyArtd+3ahU6dOsHV1dVitZpCCIEZM2Zgy5Yt2LdvH0JCQkw6zsmTJxEYGGjm6syvuLgYFy5cMFirnL67stavXw8/Pz8MGTKk2vvK5bsLCQlBQECAzvdz//59JCUlGfy3CBj+Tivbx1Y0YXb58mXs2bPHpD+ihBA4deqULL7TnJwcZGRkVFqrWb+/ag8jsUNfffWVcHV1FevWrROpqakiJiZGeHl5iWvXrgkhhJg7d66YMGGCtv3Vq1eFp6eneO2110RqaqpYt26dcHV1Fd9++62tPoJB06ZNEyqVSiQmJorMzEzto7CwUNum/Odbvny52Lp1q7h06ZI4d+6cmDt3rgAgNm/ebIuPUKnZs2eLxMREcfXqVZGcnCyGDh0qvL297eK70ygtLRWNGjUSc+bMqfCa3L67/Px8cfLkSXHy5EkBQHzwwQfi5MmT2lF+S5YsESqVSmzZskWcPXtWjB07VgQGBoq8vDztMSZMmKAzAvnw4cPC2dlZLFmyRFy4cEEsWbJEuLi4iOTkZEl9vpKSEjF8+HDRsGFDcerUKZ1/j8XFxQY/38KFC0VCQoJIS0sTJ0+eFJMmTRIuLi7i559/ltTny8/PF7NnzxZHjhwR6enpYv/+/SIyMlI0aNDAat8fA+2//vnPf4rGjRsLNzc30aFDB51h7dHR0aJ379467RMTE0X79u2Fm5ubaNKkiVi9erWVKzYOAL2P9evXa9uU/3xLly4VzZo1E+7u7qJOnTqiZ8+e4ocffrB+8UZ45plnRGBgoHB1dRVBQUFi5MiR4vz589rX5fzdafz0008CgLh48WKF1+T23WluKyj/iI6OFkI8HLofGxsrAgIChFKpFL169RJnz57VOUbv3r217TX+85//iFatWglXV1fRunVrmwV4ZZ8vPT3d4L/H/fv3a49R/vPFxMSIRo0aCTc3N1G/fn0RFRUljhw5Yv0PJyr/fIWFhSIqKkrUr19fuLq6ikaNGono6Ghx48YNnWNY8vvj8jFERGQXHP4aGhER2QcGGhER2QUGGhER2QUGGhER2QUGGhER2QUGGhER2QUGGhER2QUGGpGMLFy4EI888oj2+cSJEzFixAir13Ht2jUoFAqcOnXK6u9NZAgDjcgMyi497+rqiqZNm+L11183amXwmvjoo48QHx9vVFuGENk7Lh9DZCaDBg3C+vXrUVJSgoMHD+KFF15AQUEBVq9erdOupKTEbBMhq1QqsxyHyB7wDI3ITJRKJQICAhAcHIxx48bh2WefxbZt27TdhJ999hmaNm0KpVIJIQRyc3Px4osvws/PDz4+PujXrx9Onz6tc8wlS5bA398f3t7emDx5MoqKinReL9/lqFarsXTpUjRv3hxKpRKNGjXCe++9BwDalRbat28PhUKBPn36aPdbv3492rRpA3d3d7Ru3brCGl3Hjh1D+/bt4e7ujk6dOkl6xWRyXDxDI7IQDw8PlJSUAACuXLmCb775Bps3b4azszMAYMiQIfD19cXOnTuhUqmwZs0aPPbYY7h06RJ8fX3xzTffIDY2Fv/85z/x6KOP4osvvsCKFSvQtGlTg+85b948rF27FsuXL0fPnj2RmZmJX3/9FcDDUOrSpQv27NmDtm3bws3NDQCwdu1axMbGYuXKlWjfvj1OnjyJKVOmwMvLC9HR0SgoKMDQoUPRr18/bNy4Eenp6Zg5c6aFf3pEJjBpSmMi0hEdHS2eeOIJ7fOff/5Z1K1bV4wePVrExsYKV1dXkZ2drX197969wsfHRxQVFekcp1mzZmLNmjVCCCEiIyPFSy+9pPN6165dRUREhN73zcvLE0qlUqxdu1ZvjZrZ3k+ePKmzPTg4WGzatEln27vvvisiIyOFEEKsWbNG+Pr6ioKCAu3rq1ev1nssIltilyORmXz//feoVasW3N3dERkZiV69euHjjz8GADRu3Bj169fXtv3ll19w79491K1bF7Vq1dI+0tPTkZaWBgC4cOECIiMjdd6j/POyLly4gOLiYjz22GNG13zr1i1kZGRg8uTJOnUsXrxYp46IiAh4enoaVQeRrbDLkchM+vbti9WrV8PV1RVBQUE6Az+8vLx02qrVagQGBiIxMbHCcWrXrm3S+3t4eFR7H7VaDeBht2PXrl11XtN0jQquMEUywUAjMhMvLy80b97cqLYdOnRAVlYWXFxc0KRJE71t2rRpg+TkZDz33HPabcnJyQaP2aJFC3h4eGDv3r144YUXKryuuWZWWlqq3ebv748GDRrg6tWrePbZZ/UeNzQ0FF988QX++usvbWhWVgeRrbDLkcgG+vfvj8jISIwYMQI//fQTrl27hiNHjmD+/Pk4ceIEAGDmzJn47LPP8Nlnn+HSpUuIjY3F+fPnDR7T3d0dc+bMwZtvvonPP/8caWlpSE5Oxrp16wAAfn5+8PDwQEJCAv744w/k5uYCeHizdlxcHD766CNcunQJZ8+exfr16/HBBx8AAMaNGwcnJydMnjwZqamp2LlzJ95//30L/4SIqo+BRmQDCoUCO3fuRK9evfD888+jZcuWGDNmDK5duwZ/f38AwDPPPIO3334bc+bMQceOHXH9+nVMmzat0uMuWLAAs2fPxttvv402bdrgmWeeQXZ2NgDAxcUFK1aswJo1axAUFIQnnngCAPDCCy/g008/RXx8PMLDw9G7d2/Ex8drh/nXqlULO3bsQGpqKtq3b4+33noLS5cuteBPh8g0CsEOciIisgM8QyMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvw/y3h8/Nor+7qAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1778±0.0158 95CI=(0.1512, 0.2068)\n", - " MSE: 0.0529±0.0088 95CI=(0.0388, 0.0671)\n", - " R2: 0.9676±0.0079 95CI=(0.9546, 0.9781)\n", - "RMSE: 0.2292±0.0191 95CI=(0.1970, 0.2590)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1665±0.0186 95CI=(0.1355, 0.1965)\n", - " MSE: 0.0416±0.0085 95CI=(0.0278, 0.0576)\n", - " R2: 0.9811±0.0058 95CI=(0.9701, 0.9890)\n", - "RMSE: 0.2028±0.0207 95CI=(0.1668, 0.2399)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCx0lEQVR4nO3deVxU5f4H8M+wDYgwCsqmoIgLbrmjmPuCoqBmpeaGpmaFqde6qdcKrQztWml5XfIqeF3SbiqpmeUCmFtqYrmvqKgQrqAQIw7P7w9/zHVgBoZh1jOf9+s1r1dzznPOfI8n+HDOPOd5ZEIIASIiIhvnYOkCiIiIjIGBRkREksBAIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGVuPf//43ZDIZqlatWmqdEAIrVqxAmzZt4OnpCW9vb3Tt2hU//PCDUWtISUmBTCbDd999p7E8Pz8fkZGRcHZ2xn/+8x8AQGJiImQyGa5evapuN2bMGMhkMnh4eODRo0el9n/t2jU4ODhAJpNh9uzZRq2dKm7JkiVITEy0dBlkJAw0sgo3b97EO++8g4CAAK3r4+Li8NprryEsLAybNm1CYmIi5HI5oqKisHnzZpPWlpOTg4iICCQnJ+O7777D6NGjAQD9+/fHoUOH4O/vr9He2dkZT548wcaNG0vtKyEhAR4eHiatl/THQJMWBhpZhddffx1dunRB7969ta5ftWoVOnXqhKVLl6J3796Ijo7G1q1boVAosHr1apPVlZ2djW7duuGPP/7Ajz/+iIEDB6rX1axZEx06dIBcLtfYxsXFBYMGDcKqVas0lgshkJiYiKFDh5qsXnPKz8+3dAlEGhhoZHFr165FamoqlixZorONs7MzFAqFxjJXV1f1qzwymQyTJk3C8uXL0bBhQ8jlcjRp0gQbNmzQuc21a9fQqVMn3LhxA3v37kX37t011mu75Vjs1VdfxcGDB3H+/Hn1st27d+PatWsYO3as1s/LysrCxIkTUbt2bbi4uCA4OBhz5szBkydPNNrNmTMH7du3h5eXFzw9PdG6dWusXLkSJccZ37t3L7p16wZvb2+4ubkhKCgIL774ojqIim+vpqSkaGx39epVyGQyjSuXMWPGoGrVqjh58iQiIiLg4eGBnj17AgAeP36Mjz/+GKGhoZDL5ahZsybGjh2L27dva+y3bt26iIqKwvbt29GqVSu4ubmhcePG2L59u/rfs3HjxnB3d0dYWBiOHTtW6t/o2LFjGDBgALy8vODq6opWrVrh22+/1WhTfF6Sk5PxxhtvoEaNGvD29sbgwYNx69YtjXpOnz6N1NRUyGQyyGQy1K1bV+u5IdvgZOkCyL5lZ2dj6tSpmDdvHmrXrq2z3ZQpU/DOO+9g5cqVGDx4MAoKCvDPf/4TOTk5mDx5sl6ftXXrViQnJ+PDDz+Eu7s7lixZgldeeQVOTk546aWXNNqePXsWf/vb3wAA+/btQ+PGjSt0XL169UKdOnWwatUqzJ8/HwCwcuVKdOnSBQ0aNCjVPisrC2FhYXBwcMAHH3yAkJAQHDp0CB9//DGuXr2KhIQEddurV69i4sSJCAoKAgAcPnwYb731Fm7evIkPPvhA3aZ///7o3LkzVq1ahWrVquHmzZvYuXMnHj9+jCpVqlToeICnwTVgwABMnDgRM2bMwJMnT1BUVISBAwfil19+wbvvvouOHTvi2rVriIuLQ7du3XDs2DG4ubmp9/H7779j5syZmDVrFhQKBebMmYPBgwdj5syZ2LNnDz755BPIZDJMnz4dUVFRSE9PV2+fnJyMvn37on379li2bBkUCgU2bNiAoUOHIj8/H2PGjNGod/z48ejfvz/Wr1+PjIwM/P3vf8fIkSOxd+9eAMCWLVvw0ksvQaFQqP+YKnm1TTZGEFnQiy++KDp27CiKioqEEELExMQId3d3rW2XLVsm5HK5ACAACC8vL7Fr1y69PgeAcHNzE1lZWeplT548EaGhoaJ+/frqZcnJyer9Ozo6ijNnzujcZ0JCggAg0tPT1cuerT8uLk74+fmJwsJCcffuXSGXy0ViYqK4ffu2ACDi4uLU202cOFFUrVpVXLt2TeMzFixYIACI06dPa61BpVKJwsJC8eGHHwpvb2/1v+N3330nAIgTJ07orL/4WJOTkzWWp6enCwAiISFB47gAiFWrVmm0/eabbwQAsWnTJo3lR48eFQDEkiVL1Mvq1Kkj3NzcxI0bN9TLTpw4IQAIf39/kZeXp16elJQkAIitW7eql4WGhopWrVqJwsJCjc+KiooS/v7+QqVSCSH+d17efPNNjXaffvqpACAyMzPVy5o2bSq6du2q89+IbAtvOZLFbNq0Cdu2bcOKFSsgk8nKbJuQkIApU6Zg0qRJ2L17N3bs2IGIiAgMHDgQP/30k16f17NnT/j6+qrfOzo6YujQobh06RJu3Lih0TYqKgpFRUWIjY01+LuisWPH4s8//8SPP/6IdevWwcXFBS+//LLWttu3b0f37t0REBCAJ0+eqF+RkZEAgNTUVHXbvXv3olevXlAoFHB0dISzszM++OAD3L17F9nZ2QCAli1bwsXFBa+99hpWr16NK1euGHQMJb344oul6q5WrRqio6M16m7ZsiX8/PxK3c5s2bIlatWqpX5ffOXbrVs3javG4uXXrl0DAFy6dAnnzp3DiBEjAEDjs/r164fMzEyN27sAMGDAAI33zz33nMY+SXoYaGQRjx49QmxsLN566y0EBATgwYMHePDgAR4/fgwAePDgAfLy8gAA9+/fR2xsLMaPH48FCxagZ8+eiIyMxDfffIN27drh9ddf1+sz/fz8dC67e/euxvKYmBisWLECKSkp6N+/v7qWiqhTpw569uyJVatWYdWqVRg2bJjOW31//vkntm3bBmdnZ41X06ZNAQB37twBABw5cgQREREAgBUrVuDAgQM4evQoZs2aBQD466+/AAAhISHYvXs3fHx8EBsbi5CQEISEhGDRokUVPo5iVapUgaenZ6m6Hzx4ABcXl1K1Z2Vlqesu5uXlpfHexcWlzOUFBQXqzwGAd955p9TnvPnmmxr/RsW8vb013hffTiz+NyLp4XdoZBF37tzBn3/+ic8++wyfffZZqfXVq1fHwIEDkZSUhPPnz+Ovv/5Cu3btSrVr27YtUlNT8ejRI63Prz0rKytL57KSv/wAYNy4cXBwcMD48ePRr18/7NixA+7u7voeIoCnnUNGjhyJoqIiLF26VGe7GjVq4LnnnsPcuXO1ri9+nGHDhg1wdnbG9u3bNTrDJCUlldqmc+fO6Ny5M1QqFY4dO4avvvoKU6dOha+vL4YNG6beXqlUamxXMhiKabuKLu5wsXPnTq3bGOsRhRo1agAAZs6cicGDB2tt06hRI6N8FtkuBhpZhJ+fH5KTk0stnzdvHlJTU/Hjjz+qf4kV/zI/fPgwYmJi1G2FEDh8+DCqV6+uV9Ds2bMHf/75p/q2o0qlwsaNGxESEqKzQ8rYsWMhk8kwbtw4REZGYseOHeUG57NeeOEFvPDCC1AoFOjQoYPOdlFRUdixYwdCQkJQvXp1ne1kMhmcnJzg6OioXvbXX39hzZo1OrdxdHRE+/btERoainXr1uH48eMYNmyYukffH3/8gT59+qjbb926Ve/ji4qKwoYNG6BSqdC+fXu9t6uoRo0aoUGDBvj999/xySefGG2/crmcV2wSwkAji3B1dUW3bt1KLU9MTISjo6PGuqCgIAwePBhff/015HI5+vXrB6VSidWrV+PAgQP46KOPyv0ODnj6V36PHj3w/vvvq3s5njt3rsyu+8DTLusODg4YO3YsIiMj8eOPP+odaq6urqVGHdHmww8/xK5du9CxY0dMnjwZjRo1QkFBAa5evYodO3Zg2bJlqF27Nvr374/PP/8cw4cPx2uvvYa7d+9iwYIFpXrnLVu2DHv37kX//v0RFBSEgoIC9XNxvXr1AvD0j4pevXohPj4e1atXR506dbBnz54KPag+bNgwrFu3Dv369cOUKVMQFhYGZ2dn3LhxA8nJyRg4cCBeeOEFvfdXluXLlyMyMhJ9+vTBmDFjUKtWLdy7dw9nz57F8ePH8d///rfC+2zevDk2bNiAjRs3ol69enB1dUXz5s2NUi+ZHwONbMK6deuwePFirFmzBqtWrYKzszMaNmyItWvXYvjw4XrtY8CAAWjatCnee+89XL9+HSEhIVi3bp1eDzqPHj0aDg4OGDNmDPr06aPzFpuh/P39cezYMXz00Uf45z//iRs3bsDDwwPBwcHo27ev+qqtR48e6kcBoqOjUatWLUyYMAE+Pj4YN26cen8tW7bEzz//jLi4OGRlZaFq1apo1qwZtm7dqv4ODgDWrFmDt956C9OnT4dKpUJ0dDS++eYbtG3bVq+6HR0dsXXrVixatAhr1qxBfHw8nJycULt2bXTt2tWo4dC9e3ccOXIEc+fOxdSpU3H//n14e3ujSZMmGDJkiEH7nDNnDjIzMzFhwgQ8fPgQderU0fpcIdkGmRAlnsYkkiCZTIbY2FgsXrzY0qUQkYmwlyMREUkCA42IiCSB36GRXeCddSLp4xUaERFJAgONiIgkgYFGRESSIPnv0IqKinDr1i14eHjo9fAtERFZFyEEHj58iICAADg46L4Ok3yg3bp1C4GBgZYug4iIKikjI6PMeRMlH2jFg6NmZGSUGimciIis06HLdxG7/jgePylCeKAbvn07utzBriUfaMW3GT09PRloREQ2YP/FO5i86RyeOLqid1MfzBtQH9++rX3Gh2exUwgREVmN/RfvYNzqo1A+KULPUB8sGdkacifH8jcEA42IiKzEs2HWo4JhBjDQiIjICpS8MltawTADGGhERGRhlbnN+CwGGhERWcyBS8YJM4CBRkREFnLg0h28mmicMAMYaEREZAHGDjOAgUZERGZmijADGGhERGRGpgozgIFGRERmYsowAxhoRERkBqYOM4CBRkREJrb/ounDDGCgERGRCRnroWl9MNCIiMgkzBlmAAONiIhMwNxhBjDQiIjIyCwRZgADjYiIjKiyU8BUBgONiIiMwhhTwFQGA42IiCrNUrcZn8VAIyKiSjHmFDCVwUAjIiKDmWMEEH0x0IiIyCDWFGYAA42IiAxgbWEGMNCIiKiCrDHMAAYaERFVgLWGGcBAIyIiPVlzmAEMNCIi0oO1hxnAQCMionLYQpgBDDQiIiqDrYQZwEAjIiIdbCnMAAYaERFpYWthBjDQiIioBFsMM8DCgbZv3z5ER0cjICAAMpkMSUlJOttOnDgRMpkMCxcuNFt9RET2xlbDDLBwoOXl5aFFixZYvHhxme2SkpLw66+/IiAgwEyVERHZH1sOMwBwsuSHR0ZGIjIyssw2N2/exKRJk/DTTz+hf//+ZqqMiMi+2HqYARYOtPIUFRVh1KhR+Pvf/46mTZvqtY1SqYRSqVS/z83NNVV5RESSIIUwA6y8U8j8+fPh5OSEyZMn671NfHw8FAqF+hUYGGjCComIbJtUwgyw4kD77bffsGjRIiQmJkImk+m93cyZM5GTk6N+ZWRkmLBKIiLbJaUwA6w40H755RdkZ2cjKCgITk5OcHJywrVr1/D222+jbt26OreTy+Xw9PTUeBERkSaphRlgxd+hjRo1Cr169dJY1qdPH4waNQpjx461UFVERLZPimEGWDjQHj16hEuXLqnfp6en48SJE/Dy8kJQUBC8vb012js7O8PPzw+NGjUyd6lERJIg1TADLBxox44dQ/fu3dXvp02bBgCIiYlBYmKihaoiIpImKYcZYOFA69atG4QQere/evWq6YohIpIwqYcZYMWdQoiIyDjsIcwABhoRkaTZS5gBDDQiIsmypzADGGhERJJkb2EGMNCIiCTHHsMMYKAREUmKvYYZwEAjIpIMew4zgIFGRCQJ9h5mAAONiMjmMcyeYqAREdmw/RcZZsUYaERENmr/xTsYt5phVoyBRkRkgxhmpTHQiIhsDMNMOwYaEZENYZjpxkAjIrIRz4ZZD4ZZKQw0IiIbUPLKbCnDrBQGGhGRleNtRv0w0IiIrNiBSwwzfTHQiIisFEcAqRgGGhGRFWKYVRwDjYjIyjDMDMNAIyKyIgwzwzHQiIisBMOschhoRERWgGFWeQw0IiIL4xQwxsFAIyKyID40bTwMNCIiC2GYGRcDjYjIAhhmxsdAIyIyM4aZaTDQiIjMiFPAmA4DjYjITDgFjGkx0IiIzIC3GU2PgUZEZGKcAsY8GGhERCbEEUDMx6KBtm/fPkRHRyMgIAAymQxJSUnqdYWFhZg+fTqaN28Od3d3BAQEYPTo0bh165blCiYiqgCGmXlZNNDy8vLQokULLF68uNS6/Px8HD9+HO+//z6OHz+OzZs348KFCxgwYIAFKiUiqhiGmfnJhBDC0kUAgEwmw5YtWzBo0CCdbY4ePYqwsDBcu3YNQUFBeu03NzcXCoUCOTk58PT0NFK1RES6McyMS9/f405mrKnScnJyIJPJUK1aNZ1tlEollEql+n1ubq4ZKiMieophZjk20ymkoKAAM2bMwPDhw8tM6Pj4eCgUCvUrMDDQjFUSkT1jmFmWTQRaYWEhhg0bhqKiIixZsqTMtjNnzkROTo76lZGRYaYqicieMcwsz+pvORYWFmLIkCFIT0/H3r17y/0eTC6XQy6Xm6k6IiKGmbWw6kArDrOLFy8iOTkZ3t7eli6JiEgDw8x6WDTQHj16hEuXLqnfp6en48SJE/Dy8kJAQABeeuklHD9+HNu3b4dKpUJWVhYAwMvLCy4uLpYqm4gIAMPM2li0235KSgq6d+9eanlMTAxmz56N4OBgrdslJyejW7duen0Gu+0TkSkwzMzHJrrtd+vWDWXlqZU8IkdEpIFhZp1sopcjEZG1YJhZLwYaEZGeGGbWjYFGRKQHhpn1Y6AREZWDYWYbGGhERGVgmNkOBhoRkQ4MM9vCQCMi0oJhZnsYaEREJTDMbBMDjYjoGQwz28VAIyL6fwwz28ZAIyICw0wKGGhEZPcYZtLAQCMiu8Ywkw4GGhHZLYaZtDDQiMguMcykh4FGRHaHYSZNDDQisisMM+lioBGR3WCYSRsDjYjsAsNM+hhoRCR5DDP7wEAjIknbf5FhZi8YaEQkWfsv3sG41Qwze8FAIyJJYpjZHwYaEUkOw8w+MdCISFIYZvaLgUZEkvFsmPVgmNkdBhoRSULJK7OlDDO7w0AjIpvH24wEMNCIyMYduMQwo6cYaERkszgCCD2LgUZENolhRiUx0IjI5jDMSBsGGhHZFIYZ6eJk6QKIiJ6lKhI4kn4P2Q8L4OPhirBgLzg6yAAwzKhsFr1C27dvH6KjoxEQEACZTIakpCSN9UIIzJ49GwEBAXBzc0O3bt1w+vRpyxRLRCa381QmOs3fi1dWHMaUDSfwyorD6DR/L3aeymSYUbksGmh5eXlo0aIFFi9erHX9p59+is8//xyLFy/G0aNH4efnh969e+Phw4dmrpSITG3nqUy8sfY4MnMKNJZn5RTg9bXHMSbhCMOMymTRW46RkZGIjIzUuk4IgYULF2LWrFkYPHgwAGD16tXw9fXF+vXrMXHiRHOWSkQmpCoSmLPtDISWdcXLClWCw1lRmay2U0h6ejqysrIQERGhXiaXy9G1a1ccPHhQ53ZKpRK5ubkaLyKybkfS75W6MtNmTMe6DDPSyWoDLSsrCwDg6+ursdzX11e9Tpv4+HgoFAr1KzAw0KR1ElHlZT8sP8wA4H7+YxNXQrbMagOtmEwm03gvhCi17FkzZ85ETk6O+pWRkWHqEomoknw8XI3ajuyT1Xbb9/PzA/D0Ss3f31+9PDs7u9RV27PkcjnkcrnJ6yMi4wkL9oK/whVZOQVav0eTAfBTPO3CT6SL1V6hBQcHw8/PD7t27VIve/z4MVJTU9GxY0cLVkZExuboIENcdBOdYQYAcdFN1M+jEWlj0Su0R48e4dKlS+r36enpOHHiBLy8vBAUFISpU6fik08+QYMGDdCgQQN88sknqFKlCoYPH27BqonIFKrKneHsKEOhSjPW/BSuiItugr7N/HVsSfSURQPt2LFj6N69u/r9tGnTAAAxMTFITEzEu+++i7/++gtvvvkm7t+/j/bt2+Pnn3+Gh4eHpUomIhMongKmuGv+mI51cT//camRQojKIhNCaLvKl4zc3FwoFArk5OTA09PT0uUQUQkcAYTKo+/vcav9Do2IpI9hRsbEQCMii2CYkbEx0IjI7BhmZAoMNCIyK4YZmQoDjYjMhmFGpsRAIyKzYJiRqTHQiMjkGGZkDgw0IjIphhmZCwONiEyGYUbmxEAjIpNgmJG5MdCIyOgYZmQJDDQiMiqGGVkKA42IjIZhRpbEQCMio2CYkaUx0Iio0hhmZA0sOsEnEVknVZHAkfR7yH5YUO4kmwwzshYMNCLSsPNUJuZsO4PMnAL1Mn+FK+Kim6BvM3+Ntgwzsia85UhEajtPZeKNtcc1wgwAsnIK8Mba49h5KlO9jGFG1oaBRkQAnt5mnLPtDISWdcXL5mw7A1WRYJiRVdL7luOXX36p904nT55sUDFEZDlH0u+VujJ7lgCQmVOAVfvTseDn8wwzsjp6B9oXX3yh8f727dvIz89HtWrVAAAPHjxAlSpV4OPjw0AjskHZD3WH2bPm7TwHVZFgmJHV0TvQ0tPT1f+9fv16LFmyBCtXrkSjRo0AAOfPn8eECRMwceJE41dJREZT3IMxK+cv3Mt7DK+qcvh5uqJGVbne2zev5ckwI6sjE0Jou2VeppCQEHz33Xdo1aqVxvLffvsNL730kkb4WVpubi4UCgVycnLg6elp6XKILEpbD8ZiCjcn5P71ROt3aCX5ecpxYEZPnV35iYxJ39/jBnUKyczMRGFhYanlKpUKf/75pyG7JCIT09WDsViOnmEGAFm5ShxJv2e84oiMwKBA69mzJyZMmIBjx46h+ALv2LFjmDhxInr16mXUAomo8srqwWgofb9zIzIXgwJt1apVqFWrFsLCwuDq6gq5XI727dvD398f//73v41dIxFVUnk9GA3h4+Fq1P0RVZZBI4XUrFkTO3bswIULF3Du3DkIIdC4cWM0bNjQ2PURkREY+2qqWhVnhAV7GXWfRJVVqaGv6tatCyEEQkJC4OTEUbSIrJWxr6bGdgxmhxCyOgbdcszPz8e4ceNQpUoVNG3aFNevXwfw9IHqefPmGbVAIqq8sGAv+Hnq1y2/PNWqOGNSj/pG2ReRMRkUaDNnzsTvv/+OlJQUuLr+7y+/Xr16YePGjUYrjoiMw9FBhlfCgoyyr3mDm/PqjKySQfcJk5KSsHHjRnTo0AEy2f/+x27SpAkuX75stOKIyHjq1nCv1Pa6RtwnshYGBdrt27fh4+NTanleXp5GwBGR9dB3JJCSqrk541/DW6NDiDevzMiqGXTLsV27dvjhhx/U74tDbMWKFQgPDzdOZURkNDtPZeLtb09UeDsZgHkvNsfzDWowzMjqGXSFFh8fj759++LMmTN48uQJFi1ahNOnT+PQoUNITU01WnFPnjzB7NmzsW7dOmRlZcHf3x9jxozBe++9BwcHznxDVB5VkcDivRfxxe6LFd6WtxjJ1hgUaB07dsSBAwewYMEChISE4Oeff0br1q1x6NAhNG/e3GjFzZ8/H8uWLcPq1avRtGlTHDt2DGPHjoVCocCUKVOM9jlEUrTzVCZmbz2DrNzyn0GrXsUZA1sGILB6FfVgxWHBXrwqI5ti0ODE5hIVFQVfX1+sXLlSvezFF19ElSpVsGbNGr32wcGJyR4Vj9uo7w/3unHt8XyDGiatichQJh2cuHv37li5ciVycnIMLlAfnTp1wp49e3DhwgUAwO+//479+/ejX79+Jv1cIltmyLiNd/KUJquHyFwMuuXYvHlzvPfee5g0aRL69euHUaNGoV+/fnBxcTFqcdOnT0dOTg5CQ0Ph6OgIlUqFuXPn4pVXXtG5jVKphFL5vx/O3Nxco9ZEZE2K5zbLflgAH4+ntwkNGbeR4zKSFBgUaF9++SUWLlyI3bt3Y/369YiJiYGjoyNeeukljBgxAl27djVKcRs3bsTatWuxfv16NG3aFCdOnMDUqVMREBCAmJgYrdvEx8djzpw5Rvl8ImtUHGK7zmQh6cQt3Mt7rF7nr3BFv2Z+eu9LBsBP4cpxGUkSjPIdWkFBAbZt24a5c+fi5MmTUKlUxqgNgYGBmDFjBmJjY9XLPv74Y6xduxbnzp3Tuo22K7TAwEB+h0aSUNYEnYaQAVg6sjV7MpJV0/c7tEqPKJyVlYUNGzZg7dq1+OOPP9CuXbvK7lItPz+/VPd8R0dHFBUV6dxGLpdDLjfOmHVE1qSiHT30MbVXQ4YZSYZBgZabm4tNmzZh/fr1SElJQb169TB8+HBs2LAB9esbb9DS6OhozJ07F0FBQWjatCnS0tLw+eef49VXXzXaZxDZAlNM0AkAdWtUMfIeiSzHoEDz9fVF9erVMWTIEHzyySdGvSp71ldffYX3338fb775JrKzsxEQEICJEyfigw8+MMnnEVkrU0zQCbAzCElLhQNNCIFFixZh5MiRqFLFtH/deXh4YOHChVi4cKFJP4fI2hl7gk52BiEpqvBzaEIITJo0CTdv3jRFPUSkhaEDC5clLroJRwIhSalwoDk4OKBBgwa4e/euKeohIi2Opt8z2r4cZMC/hrdiZxCSHINGCvn000/x97//HadOnTJ2PURUws5TmVi4p+KDC+tSJIDq7uwJTNJjUKeQkSNHIj8/Hy1atICLiwvc3Nw01t+7Z7y/JonsWXHvRmMz9ndyRNbAoEBjJw0i82DvRiL9GRRouoadIiLjqsiV1KvP18WqA1fLbMPejSRlBs+SefnyZbz33nt45ZVXkJ2dDQDYuXMnTp8+bbTiiOydvldSk7qH4MdTWXq1Ze9GkiqDAi01NRXNmzfHr7/+is2bN+PRo0cAgD/++ANxcXFGLZDIHqmKBA5dvosV+y6V29bPU47wejX0ujXJoa5Iygy65Thjxgx8/PHHmDZtGjw8PNTLu3fvjkWLFhmtOCJ7VNEBiD+Iaqr3fGYc6oqkzKBAO3nyJNavX19qec2aNfl8GlElGDIAcXV3/echZGcQkjKDbjlWq1YNmZmZpZanpaWhVq1alS6KSOqKbyl+f+ImDl2+C1WRMHgA4uyHBQgL9oK/whW6vhmT4elcaewMQlJm0BXa8OHDMX36dPz3v/+FTCZDUVERDhw4gHfeeQejR482do1EkqLtlqK/whXD2gUa1EXfx8MVjg4yxEU3wRtrj0MGaIRiccixMwhJnUETfBYWFmLMmDHYsGEDhBBwcnKCSqXC8OHDkZiYCEdHR1PUahB9J4YjMgddtxRLhpC+vNydcXRWb3VQ6QrLuOgm7AxCNkvf3+OVmrH6ypUrOH78OIqKitCqVSs0aNDA0F2ZDAONrIWqSKDT/L1GfVB6yfBW6PdcQKnPOZJ+D9kPC+Dj8fQ2I6/MyJaZZcbqevXqoV69elCpVDh58iTu37+P6tWrV2aXRJJl7FE/JnYJLhVmAODoIEN4iLfRPofIVhjUKWTq1KlYuXIlAEClUqFr165o3bo1AgMDkZKSYsz6iCTDmOMnjn2+Lmb2a2K0/RFJgUGB9t1336FFixYAgG3btuHKlSs4d+4cpk6dilmzZhm1QCKpMGaX+YgmfkbbF5FUGBRod+7cgZ/f0x+oHTt2YMiQIWjYsCHGjRuHkydPGrVAIqkIC/aCVwWeGdPF292F3e+JtDAo0Hx9fXHmzBmoVCrs3LkTvXr1AgDk5+dbVQ9HImvi6CDDoJalv/OqqIEtA9jJg0gLgzqFjB07FkOGDIG/vz9kMhl69+4NAPj1118RGhpq1AKJpEThVvkrtN683UiklUGBNnv2bDRr1gwZGRl4+eWXIZc/nf3W0dERM2bMMGqBRFKx81QmFu6+UKl9cLQPIt0q9RyaLeBzaGQNjPUM2rKRrfmANNkdfX+PGzwf2p49exAVFYWQkBDUr18fUVFR2L17t6G7I5K0yj6D5iB7+hA1w4xIN4MCbfHixejbty88PDwwZcoUTJ48GZ6enujXrx8WL15s7BqJbF5ln0Fb/EprrQ9RE9H/GPQdWnx8PL744gtMmjRJvWzy5Ml4/vnnMXfuXI3lRPagvOGmDH0GzUEGTOgcjH7P8cqMqDwGBVpubi769u1banlERASmT59e6aKIbIm2AYG93J3xQsta6NXED2HBXggL9oKHqyMeFqgqtG8hgK/3paNVUHXebiQqh0G3HAcMGIAtW7aUWv79998jOjq60kUR2Yri0fNLfj92L68QKw9cxSsrDqPT/L34as8F5D8uqvD+i3tszdl2BqoiSfffIqo0va/QvvzyS/V/N27cGHPnzkVKSgrCw8MBAIcPH8aBAwfw9ttvG79KIiuk74ScmTkFWLjnksGfI/5/H0fS73HQYaIy6N1tPzg4WL8dymS4cuVKpYoyJnbbJ1M5cPEORqz8Ve/2cicHVHNzQvbDxwbNfbZoWEsMbMkZ4cn+GH36mPT09FLL7ty5A5lMBm9v/tVI9mXnqUzM2FSxcUuVT4owvH0dLNx90aAJPY05uDGRFFX4O7QHDx4gNjYWNWrUgK+vL3x8fFCjRg1MmjQJDx48MEGJRNal+HuzB38VVnjbujXcsXRka/gpNMOprKEZZeAIIUT6qFAvx3v37iE8PBw3b97EiBEj0LhxYwghcPbsWSQmJmLPnj04ePAgJ/kkydL3ezNdfDxcER7ijd5N/DS6+d/Pe4zY9ccBaF65FedcXHQTDkhMVI4KBdqHH34IFxcXXL58Gb6+vqXWRURE4MMPP8QXX3xh1CKJrIWhI37IAPg9c5WlbVbppQ6tS3X/91O4Ii66CbvsE+mhQoGWlJSE5cuXlwozAPDz88Onn36K119/nYFGkmXoiB8C5V9l9W3mX+rKreQD2kSkW4W+Q8vMzETTpk11rm/WrBmysrIqXdSzbt68iZEjR8Lb2xtVqlRBy5Yt8dtvvxn1M4j0ZeqOGcVXbgNb1kJ4iDfDjKgCKhRoNWrUwNWrV3WuT09PN2qPx/v37+P555+Hs7MzfvzxR5w5cwafffYZqlWrZrTPIKqIsGAv+CtcUdGYkYEPRxOZWoUCrW/fvpg1axYeP35cap1SqcT777+vdUgsQ82fPx+BgYFISEhAWFgY6tati549eyIkJMRon0FUEY4OMsRFNwGACoXasw9HE5FpVGg+tBs3bqBt27aQy+WIjY1Vz0595swZLFmyBEqlEseOHUNgYKBRimvSpAn69OmDGzduIDU1FbVq1cKbb76JCRMm6L0PPlhNprDzVCb+seUk7uVVrOs+H44mqjijP1gNALVr18ahQ4fw5ptvYubMmSjOQplMht69e2Px4sVGCzMAuHLlCpYuXYpp06bhH//4B44cOYLJkydDLpdj9OjRWrdRKpVQKpXq97m5uUarh6iYh6sz8pRPBxpuGuCJAc/5I37n+XK348PRRKZj8IzV9+/fx8WLFwEA9evXh5eX8R/6dHFxQdu2bXHw4EH1ssmTJ+Po0aM4dOiQ1m1mz56NOXPmlFrOKzQylgOX7uDVxKNQPilCz1AfLBnZGk4ODug0fy+ycgq0PqNW3G1///Qe7OhBVEEmn7G6evXqCAsLQ1hYmEnCDAD8/f3RpEkTjWWNGzfG9evXdW4zc+ZM5OTkqF8ZGRkmqY3sk7Ywkzs5lvndGh+OJjIPgwPNHJ5//nmcP695G+fChQuoU6eOzm3kcjk8PT01XkTGoCvMivVt5q91WCs/hSuWjmzNh6OJTMygCT7N5W9/+xs6duyITz75BEOGDMGRI0fw9ddf4+uvv7Z0aWRnyguzYnw4mshyDP4OzVy2b9+OmTNn4uLFiwgODsa0adPYy5HMav/FOxi3uvwwIyLT0Pf3uNUHWmUx0KgyGGZElmfyTiFEUscwI7ItDDQiLfZduI2xiUegfFKEVoHVMKpDHew8lYVDl+9y+CoiK2XVnUKIzEVVJNQdOVLP38bmtJvqdWkZDzAm8aj6vT+ndCGySgw0sns7T2WWmoesLFk5BXhj7XF2xSeyMrzlSHZt56lMvLH2eIUm7Sy+4cjR84msCwON7JaqSGDOtjNah6oqD0fPJ7I+DDSyW0fS71XoykwbQ2ewJiLjY6CR3TJGGHH0fCLrwU4hZLeyc5XlN9KhePT8sGDTDMxNRBXHQCPJebYLvq6xFA9cuoMFP5c/f5k2HD2fyDox0EhStHXBL/nc2LMDDTev5YmTN3MhA/TuHOLH59CIrBIDjSSjuAt+yWB69rkxD1fnUqPmJ5/L1hqCw9oFoW6NKqhRVQ4I4E6ekqPnE1kxDk5MkqAqEug0f6/OXosyANXdnZGnVGkdm1Gf25REZBn6/h7nFRpJQnld8AWAe3mFAKB1oGFHBxnCQ7xNXSYRmRC77ZMk6NsFv2mAJ0fNJ5IoBhpJgr7Pg03vG8owI5IoBhpJwv28xyjvKy8/Tzmer1/DPAURkdnxOzSyeTtPZSJ2fenejSXNHtCUHT2IJIxXaGTT9BlgWAZgyfBWfG6MSOIYaGTT9BlgWACo7i43T0FEZDEMNLJp+vZu5Kj4RNLHQCObpm/vRo6KTyR9DDSyaWHBXvByd9a5Xoanw1hxVHwi6WOgkU07fOUuHhY80bqOo+IT2RcGGtms4lHzC1UCzWt5ws9Ts+OHn8IVS0e2Zu9GIjvB59DIJj07BUzx2IxODg4cYJjIjjHQyOqUN/K9tjArHs6KAwwT2S8GGlmVHX9k4r3vT+Fe3mP1smcn6CwrzIjIvjHQyGrE7ziD5fvSSy3P/P8JOqf0rI+lqVcYZkSkFQONrMKOP25pDbNiAsDCPZcAaJ/PjIiIvRzJ4lRFAu99f0qvtq2DqjHMiEgrBhpZ3JH0e+rZpMszon0Qw4yItGKgkcVl5eo/zmJAtSomrISIbBkDjSzu3iOlXu08XZ04hBUR6WRTgRYfHw+ZTIapU6dauhQyIi93F73avdi6Fh+UJiKdbCbQjh49iq+//hrPPfecpUshI/NTuOnVLqIph7AiIt1sItAePXqEESNGYMWKFahevbqlyyEjCwv2gr+i7OldOGI+EZXHJgItNjYW/fv3R69evcptq1QqkZubq/Ei66AqEjh0+S6+P3EThy7fhapIAAAcHWR4uU1tndvJwBHziah8Vv9g9YYNG3D8+HEcPXpUr/bx8fGYM2eOiauiitp5KhNztp1BZs7/ejQWD2l1LjMXX+69pHW7Z4e9IiIqi0wIISxdhC4ZGRlo27Ytfv75Z7Ro0QIA0K1bN7Rs2RILFy7Uuo1SqYRS+b9ec7m5uQgMDEROTg48PT3NUTaVsPNUJt5Yexwl/0eTAaWWlbRkeGv0e45hRmTPcnNzoVAoyv09btWBlpSUhBdeeAGOjv97kFalUkEmk8HBwQFKpVJjnTb6/kOQaaiKBDrN36txZaYvGZ7OabZ/eg/ebiSyY/r+HrfqW449e/bEyZMnNZaNHTsWoaGhmD59erlhRpZ3JP2eQWEGPL16y8wpwJH0e5wWhojKZdWB5uHhgWbNmmksc3d3h7e3d6nlZJ2yHxoWZsbeBxFJn030ciTb5eNRdnd8c+2DiKTPqq/QtElJSbF0CVQB9/P0G9ZKm+Lv0Pj8GRHpg1doZDKqIoGPfjirV9uSXT6K3/P5MyLSFwONTEbfDiF/69UQfiVGCvFTuGLpyNZ8/oyI9GZztxzJdujbmaNujSrYP70HjqTfQ/bDAvh4PL3NyCszIqoIBhqZTHauft+f+Xi4wtFBxq75RFQpDDQyiQOX7mDBz+fLbMNOH0RkTPwOjYzuwKU7eDXxKJRPitC81tOn+tnpg4hMjYFGRvVsmPUM9cF3b3TEspGt2emDiEyOtxzJaEqG2ZKRrSF3ckTfZv7o3cSPnT6IyKQYaGQUusKsGDt9EJGp8ZYjVdr+i2WHGRGROTDQqFL2X7yDcasZZkRkeQw0MhjDjIisCQONDMIwIyJrw0CjCmOYEZE1YqBRhTwbZj0YZkRkRRhopLeSV2ZLGWZEZEUYaKQX3mYkImvHQKNyHbjEMCMi68dAozKVNwIIEZG1YKCRTgwzIrIlDDTSimFGRLaGgUalMMyIyBYx0EgDw4yIbBUDjdQYZkRkyxhoBIBTwBCR7WOgER+aJiJJYKDZOYYZEUkFA82OMcyISEoYaHaKYUZEUsNAs0OcAoaIpIiBZmc4BQwRSRUDzY7wNiMRSRkDzU5wChgikjoGmh3gCCBEZA+sOtDi4+PRrl07eHh4wMfHB4MGDcL58+ctXZZNYZgRkb2w6kBLTU1FbGwsDh8+jF27duHJkyeIiIhAXl6epUuzCQwzIrInMiGEsHQR+rp9+zZ8fHyQmpqKLl266LVNbm4uFAoFcnJy4OnpaeIKrQfDjIikQt/f405mrKnScnJyAABeXl462yiVSiiVSvX73Nxck9dlbRhmRGSPrPqW47OEEJg2bRo6deqEZs2a6WwXHx8PhUKhfgUGBpqxSstjmBGRvbKZW46xsbH44YcfsH//ftSuXVtnO21XaIGBgXZxy5FhRkRSJKlbjm+99Ra2bt2Kffv2lRlmACCXyyGXy81UmfVgmBGRvbPqQBNC4K233sKWLVuQkpKC4OBgS5dklRhmRERWHmixsbFYv349vv/+e3h4eCArKwsAoFAo4ObmZuHqrAPDjIjoKav+Dk0mk2ldnpCQgDFjxui1Dyl322eYEZE9kMR3aFactRbHMCMi0mQz3fbpfxhmRESlMdBsDMOMiEg7BpoNYZgREenGQLMRDDMiorIx0GwAw4yIqHwMNCvHMCMi0g8DzYoxzIiI9MdAs1IMMyKiimGgWSGGGRFRxTHQrAzDjIjIMAw0K8IwIyIyHAPNSjDMiIgqh4FmBRhmRESVx0CzMIYZEZFxMNAsiGFGRGQ8DDQLYZgRERkXA80CGGZERMbHQDMzhhkRkWkw0MyIYUZEZDoMNDNhmBERmRYDzQz2X2SYERGZGgPNxPZfvINxqxlmRESmxkAzIYYZEZH5MNBMhGFGRGReDDQTYJgREZkfA83Ing2zHgwzIiKzYaAZUckrs6UMMyIis2GgGQlvMxIRWRYDzQgOXGKYERFZGgOtkjgCCBGRdWCgVQLDjIjIejDQDMQwIyKyLgw0AzDMiIisDwOtghhmRETWySYCbcmSJQgODoarqyvatGmDX375xSJ1MMyIiKyX1Qfaxo0bMXXqVMyaNQtpaWno3LkzIiMjcf36dbPWwSlgiIism0wIISxdRFnat2+P1q1bY+nSpepljRs3xqBBgxAfH1/u9rm5uVAoFMjJyYGnp6dBNfChaSIiy9H397hVX6E9fvwYv/32GyIiIjSWR0RE4ODBg1q3USqVyM3N1XhVBsOMiMg2WHWg3blzByqVCr6+vhrLfX19kZWVpXWb+Ph4KBQK9SswMNDgz2eYERHZDqsOtGIymUzjvRCi1LJiM2fORE5OjvqVkZFh0GcyzIiIbIuTpQsoS40aNeDo6Fjqaiw7O7vUVVsxuVwOuVxeqc/lFDBERLbHqq/QXFxc0KZNG+zatUtj+a5du9CxY0eTfCangCEisk1WfYUGANOmTcOoUaPQtm1bhIeH4+uvv8b169fx+uuvG/2zeJuRiMh2WX2gDR06FHfv3sWHH36IzMxMNGvWDDt27ECdOnWM+jmcAoaIyLZZ/XNolaXP8wscAYSIyHpJ4jk0c2CYERFJg10HGsOMiEg67DbQGGZERNJil4HGMCMikh67CzSGGRGRNNlVoDHMiIiky+qfQzOWw5fv4q1N5xhmREQSZTdXaG+uP84wIyKSMLsJtMcMMyIiSZP8LcfigVDCA90wb0B9KPPzoLRwTUREpL/iiZrLG9hK8kNf3bhxo1KTfBIRkXXIyMhA7dq1da6XfKAVFRXh1q1b8PDw0DkpaHlyc3MRGBiIjIyMMscRs1U8PtvG47NtPL7yCSHw8OFDBAQEwMFB9zdlkr/l6ODgUGaiV4Snp6ck/4crxuOzbTw+28bjK5tCoSi3jd10CiEiImljoBERkSQw0PQgl8sRFxcHuVxu6VJMgsdn23h8to3HZzyS7xRCRET2gVdoREQkCQw0IiKSBAYaERFJAgONiIgkgYH2/5YsWYLg4GC4urqiTZs2+OWXX8psn5qaijZt2sDV1RX16tXDsmXLzFRpxcTHx6Ndu3bw8PCAj48PBg0ahPPnz5e5TUpKCmQyWanXuXPnzFS1/mbPnl2qTj8/vzK3sZVzBwB169bVei5iY2O1trf2c7dv3z5ER0cjICAAMpkMSUlJGuuFEJg9ezYCAgLg5uaGbt264fTp0+Xud9OmTWjSpAnkcjmaNGmCLVu2mOgIylbW8RUWFmL69Olo3rw53N3dERAQgNGjR+PWrVtl7jMxMVHrOS0oKDDx0ZRW3vkbM2ZMqTo7dOhQ7n6Ndf4YaAA2btyIqVOnYtasWUhLS0Pnzp0RGRmJ69eva22fnp6Ofv36oXPnzkhLS8M//vEPTJ48GZs2bTJz5eVLTU1FbGwsDh8+jF27duHJkyeIiIhAXl5eudueP38emZmZ6leDBg3MUHHFNW3aVKPOkydP6mxrS+cOAI4ePapxbLt27QIAvPzyy2VuZ63nLi8vDy1atMDixYu1rv/000/x+eefY/HixTh69Cj8/PzQu3dvPHz4UOc+Dx06hKFDh2LUqFH4/fffMWrUKAwZMgS//vqrqQ5Dp7KOLz8/H8ePH8f777+P48ePY/Pmzbhw4QIGDBhQ7n49PT01zmdmZiZcXV1NcQhlKu/8AUDfvn016tyxY0eZ+zTq+RMkwsLCxOuvv66xLDQ0VMyYMUNr+3fffVeEhoZqLJs4caLo0KGDyWo0luzsbAFApKam6myTnJwsAIj79++brzADxcXFiRYtWujd3pbPnRBCTJkyRYSEhIiioiKt623p3AEQW7ZsUb8vKioSfn5+Yt68eeplBQUFQqFQiGXLluncz5AhQ0Tfvn01lvXp00cMGzbM6DVXRMnj0+bIkSMCgLh27ZrONgkJCUKhUBi3OCPQdnwxMTFi4MCBFdqPMc+f3V+hPX78GL/99hsiIiI0lkdERODgwYNatzl06FCp9n369MGxY8dQWFhoslqNIScnBwDg5eVVbttWrVrB398fPXv2RHJysqlLM9jFixcREBCA4OBgDBs2DFeuXNHZ1pbP3ePHj7F27Vq8+uqr5Q60bSvn7lnp6enIysrSOD9yuRxdu3bV+bMI6D6nZW1jLXJyciCTyVCtWrUy2z169Ah16tRB7dq1ERUVhbS0NPMUaICUlBT4+PigYcOGmDBhArKzs8tsb8zzZ/eBdufOHahUKvj6+mos9/X1RVZWltZtsrKytLZ/8uQJ7ty5Y7JaK0sIgWnTpqFTp05o1qyZznb+/v74+uuvsWnTJmzevBmNGjVCz549sW/fPjNWq5/27dvjP//5D3766SesWLECWVlZ6NixI+7evau1va2eOwBISkrCgwcPMGbMGJ1tbOnclVT881aRn8Xi7Sq6jTUoKCjAjBkzMHz48DIH7Q0NDUViYiK2bt2Kb775Bq6urnj++edx8eJFM1arn8jISKxbtw579+7FZ599hqNHj6JHjx5QKnXPQmnM8yf50fb1VfIvXiFEmX8Fa2uvbbk1mTRpEv744w/s37+/zHaNGjVCo0aN1O/Dw8ORkZGBBQsWoEuXLqYus0IiIyPV/928eXOEh4cjJCQEq1evxrRp07RuY4vnDgBWrlyJyMhIBAQE6GxjS+dOl4r+LBq6jSUVFhZi2LBhKCoqwpIlS8ps26FDB42OFc8//zxat26Nr776Cl9++aWpS62QoUOHqv+7WbNmaNu2LerUqYMffvgBgwcP1rmdsc6f3V+h1ahRA46OjqX+GsjOzi71V0MxPz8/re2dnJzg7e1tslor46233sLWrVuRnJxs0HQ6HTp0sMq/CEtyd3dH8+bNddZqi+cOAK5du4bdu3dj/PjxFd7WVs5dce/UivwsFm9X0W0sqbCwEEOGDEF6ejp27dpV4SlVHBwc0K5dO5s4p/7+/qhTp06ZtRrz/Nl9oLm4uKBNmzbq3mPFdu3ahY4dO2rdJjw8vFT7n3/+GW3btoWzs7PJajWEEAKTJk3C5s2bsXfvXgQHBxu0n7S0NPj7+xu5OuNTKpU4e/aszlpt6dw9KyEhAT4+Pujfv3+Ft7WVcxccHAw/Pz+N8/P48WOkpqbq/FkEdJ/TsraxlOIwu3jxInbv3m3QH1FCCJw4ccImzundu3eRkZFRZq1GPX8V7kYiQRs2bBDOzs5i5cqV4syZM2Lq1KnC3d1dXL16VQghxIwZM8SoUaPU7a9cuSKqVKki/va3v4kzZ86IlStXCmdnZ/Hdd99Z6hB0euONN4RCoRApKSkiMzNT/crPz1e3KXl8X3zxhdiyZYu4cOGCOHXqlJgxY4YAIDZt2mSJQyjT22+/LVJSUsSVK1fE4cOHRVRUlPDw8JDEuSumUqlEUFCQmD59eql1tnbuHj58KNLS0kRaWpoAID7//HORlpam7uU3b948oVAoxObNm8XJkyfFK6+8Ivz9/UVubq56H6NGjdLogXzgwAHh6Ogo5s2bJ86ePSvmzZsnnJycxOHDh63q+AoLC8WAAQNE7dq1xYkTJzR+HpVKpc7jmz17tti5c6e4fPmySEtLE2PHjhVOTk7i119/tarje/jwoXj77bfFwYMHRXp6ukhOThbh4eGiVq1aZjt/DLT/969//UvUqVNHuLi4iNatW2t0a4+JiRFdu3bVaJ+SkiJatWolXFxcRN26dcXSpUvNXLF+AGh9JSQkqNuUPL758+eLkJAQ4erqKqpXry46deokfvjhB/MXr4ehQ4cKf39/4ezsLAICAsTgwYPF6dOn1ett+dwV++mnnwQAcf78+VLrbO3cFT9WUPIVExMjhHjadT8uLk74+fkJuVwuunTpIk6ePKmxj65du6rbF/vvf/8rGjVqJJydnUVoaKjFArys40tPT9f585icnKzeR8njmzp1qggKChIuLi6iZs2aIiIiQhw8eND8ByfKPr78/HwREREhatasKZydnUVQUJCIiYkR169f19iHKc8fp48hIiJJsPvv0IiISBoYaEREJAkMNCIikgQGGhERSQIDjYiIJIGBRkREksBAIyIiSWCgEdmQ2bNno2XLlur3Y8aMwaBBg8xex9WrVyGTyXDixAmzfzaRLgw0IiN4dup5Z2dn1KtXD++8845eM4NXxqJFi5CYmKhXW4YQSR2njyEykr59+yIhIQGFhYX45ZdfMH78eOTl5WHp0qUa7QoLC402ELJCoTDKfoikgFdoREYil8vh5+eHwMBADB8+HCNGjEBSUpL6NuGqVatQr149yOVyCCGQk5OD1157DT4+PvD09ESPHj3w+++/a+xz3rx58PX1hYeHB8aNG4eCggKN9SVvORYVFWH+/PmoX78+5HI5goKCMHfuXABQz7TQqlUryGQydOvWTb1dQkICGjduDFdXV4SGhpaao+vIkSNo1aoVXF1d0bZtW6ueMZnsF6/QiEzEzc0NhYWFAIBLly7h22+/xaZNm+Do6AgA6N+/P7y8vLBjxw4oFAosX74cPXv2xIULF+Dl5YVvv/0WcXFx+Ne//oXOnTtjzZo1+PLLL1GvXj2dnzlz5kysWLECX3zxBTp16oTMzEycO3cOwNNQCgsLw+7du9G0aVO4uLgAAFasWIG4uDgsXrwYrVq1QlpaGiZMmAB3d3fExMQgLy8PUVFR6NGjB9auXYv09HRMmTLFxP96RAYwaEhjItIQExMjBg4cqH7/66+/Cm9vbzFkyBARFxcnnJ2dRXZ2tnr9nj17hKenpygoKNDYT0hIiFi+fLkQQojw8HDx+uuva6xv3769aNGihdbPzc3NFXK5XKxYsUJrjcWjvaelpWksDwwMFOvXr9dY9tFHH4nw8HAhhBDLly8XXl5eIi8vT71+6dKlWvdFZEm85UhkJNu3b0fVqlXh6uqK8PBwdOnSBV999RUAoE6dOqhZs6a67W+//YZHjx7B29sbVatWVb/S09Nx+fJlAMDZs2cRHh6u8Rkl3z/r7NmzUCqV6Nmzp9413759GxkZGRg3bpxGHR9//LFGHS1atECVKlX0qoPIUnjLkchIunfvjqVLl8LZ2RkBAQEaHT/c3d012hYVFcHf3x8pKSml9lOtWjWDPt/Nza3C2xQVFQF4etuxffv2GuuKb40KzjBFNoKBRmQk7u7uqF+/vl5tW7dujaysLDg5OaFu3bpa2zRu3BiHDx/G6NGj1csOHz6sc58NGjSAm5sb9uzZg/Hjx5daX/ydmUqlUi/z9fVFrVq1cOXKFYwYMULrfps0aYI1a9bgr7/+UodmWXUQWQpvORJZQK9evRAeHo5Bgwbhp59+wtWrV3Hw4EG89957OHbsGABgypQpWLVqFVatWoULFy4gLi4Op0+f1rlPV1dXTJ8+He+++y7+85//4PLlyzh8+DBWrlwJAPDx8YGbmxt27tyJP//8Ezk5OQCePqwdHx+PRYsW4cKFCzh58iQSEhLw+eefAwCGDx8OBwcHjBs3DmfOnMGOHTuwYMECE/8LEVUcA43IAmQyGXbs2IEuXbrg1VdfRcOGDTFs2DBcvXoVvr6+AIChQ4figw8+wPTp09GmTRtcu3YNb7zxRpn7ff/99/H222/jgw8+QOPGjTF06FBkZ2cDAJycnPDll19i+fLlCAgIwMCBAwEA48ePx7///W8kJiaiefPm6Nq1KxITE9Xd/KtWrYpt27bhzJkzaNWqFWbNmoX58+eb8F+HyDAywRvkREQkAbxCIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGRESSwEAjIiJJYKAREZEkMNCIiEgSGGhERCQJ/we8J72/fbDGRQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1933±0.0262 95CI=(0.1510, 0.2438)\n", - " MSE: 0.0653±0.0154 95CI=(0.0398, 0.0926)\n", - " R2: 0.9303±0.0255 95CI=(0.8826, 0.9639)\n", - "RMSE: 0.2538±0.0303 95CI=(0.1995, 0.3043)\n" - ] - }, - { - "data": { - "image/png": "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NRbP9p6enq6zPTg4WKxevVpn2z//+U8RFRUlhBBiyZIlwsfHR+Tn52tfX7Rokd5jEVkTuxyJJLJlyxZUrVoV7u7uiIqKQocOHfDFF18AAEJDQ1GzZk1t2z/++AP37t2Dr68vqlatqn1kZGTgwoULAIBTp04hKipK5z1KPn/cqVOnUFhYiK5duxpd819//YXMzEyMGTNGp44PPvhAp46mTZuiSpUqRtVBZC3sciSSSOfOnbFo0SK4uroiKChIZ+CHp6enTluNRoPAwECkpKSUOk61atVMen8PD48K76PRaAA86nZs06aNzmvFXaOCK0yRnWCgEUnE09MTTzzxhFFtW7RogezsbLi4uKBOnTp62zRs2BD79+/HiBEjtNv2799v8Jj16tWDh4cHduzYgVdeeaXU68XfmanVau02f39/1KpVCxcvXsRLL72k97iNGjXC119/jb///lsbmmXVQWQt7HIksoJu3bohKioKAwYMwM8//4xLly5h7969mD59Og4dOgQAmDhxIpYvX47ly5fj7NmziI+Px4kTJwwe093dHVOmTMG7776Lr776ChcuXMD+/fuxbNkyAICfnx88PDywbds2XL9+Hbm5uQAe3aydkJCAefPm4ezZszh27BhWrFiBTz/9FAAwdOhQODk5YcyYMTh58iSSkpLw8ccfm/lfiKjiGGhEVqBQKJCUlIQOHTrg5ZdfRv369TFkyBBcunQJ/v7+AIDBgwfj/fffx5QpU9CyZUtcvnwZr7/+epnHfe+99/D222/j/fffR8OGDTF48GDk5OQAAFxcXDB//nwsWbIEQUFB6N+/PwDglVdewX/+8x8kJiYiMjISHTt2RGJionaYf9WqVbF582acPHkSzZs3x7Rp0zB37lwz/usQmUYh2EFOREQywCs0IiKSBQYaERHJAgONiIhkgYFGRESywEAjIiJZYKAREZEsMNCIiEgWGGhERCQLDDQiIpIFBhoREckCA42IiGSBgUZERLLw/+kJDQMs0Wo0AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"measurement_types\": [\n", - " \"pIC50\",\n", - " \"pKd\",\n", - " \"pKi\"\n", - " ],\n", - " \"uniprot_ids\": [\n", - " \"P00533\"\n", - " ],\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fce6846ea60>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ..., 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": 1024\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1777710.0157850.0529210.0088070.9675860.0079240.2292480.019131
test0.1664510.0186110.0415710.0085080.9811310.0057520.2028370.020681
val0.1932610.0262350.0653150.0153760.9303270.0255220.2537690.030277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2353930.0052190.1033620.0057620.9485920.0027520.3213760.008907
test0.2321050.0073120.1016540.0076530.9497710.0041290.3186070.011975
val0.2386040.0071220.1051680.0082460.9471720.0037960.3240510.012595
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2498060.0532780.1704120.0793780.8634790.0715410.4012790.096887
test0.2737530.0872420.2103920.1424300.7849350.2243240.4322510.153464
val0.2215590.0618490.1199450.0542890.8932250.0708910.3357530.084941
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:53:44.645164\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:53:44.649391+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "kinoml : 0+unknown\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:53:44 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 12% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb deleted file mode 100644 index 9f483080..00000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb +++ /dev/null @@ -1,13678 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 1000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:13.189152\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e50be96627845d99da5665551000c4f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:15:40.593058\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:15:40.605328+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:15:40 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 57C P8 17W / 10W | 46MiB / 16384MiB | 18% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Train a model with PyTorch\n", - "\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:47.319083\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe85481c85794e4c96050287e22999ce", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1604±0.0194 95CI=(0.1331, 0.1940)\n", - " MSE: 0.0351±0.0071 95CI=(0.0248, 0.0473)\n", - " R2: 0.9759±0.0147 95CI=(0.9517, 0.9889)\n", - "RMSE: 0.1863±0.0188 95CI=(0.1575, 0.2175)\n" - ] - }, - { - "data": { - "image/png": "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lh05ckTrNlu0aAEnJyfs2bMHEydOrPB5+T2z0tJS1TJPT080atQIly9fxqhRozRuNygoCF9++SX+/vtvVWhWVgeRsfCSI5ER9O/fHyEhIXj66afx008/4cqVKzh06BBmz56N1NRUAMDUqVOxatUqrFq1CufPn0dMTAxOnz6tdZuOjo6YPn063nnnHXzxxRe4dOkSjhw5gpUrVwIAPDw84OTkhB07duCPP/5AXl4egAcPa8fFxWHJkiU4f/48Tp06hdWrV+PDDz8EAIwcORI2NjaYMGECMjIysH37dnzwwQcG/gkRVR8DjcgIZDIZtm/fjp49e2L8+PF47LHHMGLECFy5cgWenp4AgOHDh2Pu3LmYPn06OnbsiKtXr+LVV1+tdLtz5szBW2+9hblz56JVq1YYPnw4cnNzAQB2dnb45JNPsHz5cvj4+GDo0KEAgIkTJ+K///0vEhMT0aZNG/Tq1QuJiYmqbv5169bFtm3bkJGRgfbt22PWrFlYvHixAX86RPqRCV4gJyIiC8AzNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisgj/D6xljPwuj5V/AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1827±0.0276 95CI=(0.1317, 0.2254)\n", - " MSE: 0.0421±0.0114 95CI=(0.0218, 0.0610)\n", - " R2: 0.9659±0.0406 95CI=(0.8957, 0.9884)\n", - "RMSE: 0.2032±0.0285 95CI=(0.1476, 0.2470)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1334±0.0305 95CI=(0.0860, 0.1868)\n", - " MSE: 0.0267±0.0107 95CI=(0.0119, 0.0438)\n", - " R2: 0.9695±0.0289 95CI=(0.9180, 0.9935)\n", - "RMSE: 0.1599±0.0329 95CI=(0.1090, 0.2092)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.3447±0.1288 95CI=(0.1899, 0.5692)\n", - " MSE: 0.3078±0.2553 95CI=(0.0473, 0.7105)\n", - " R2: 0.7518±0.2481 95CI=(0.2974, 0.9662)\n", - "RMSE: 0.5049±0.2301 95CI=(0.2174, 0.8429)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2467±0.0704 95CI=(0.1483, 0.3732)\n", - " MSE: 0.0879±0.0470 95CI=(0.0278, 0.1694)\n", - " R2: 0.7269±0.9792 95CI=(0.6081, 0.9601)\n", - "RMSE: 0.2860±0.0784 95CI=(0.1666, 0.4116)\n" - ] - }, - { - "data": { - "image/png": "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9cjMzMSFCxcAAKdPn0ZkZKTaazz48/1Onz6NoqIi9O7dW+cx//3338jKysLEiRPVxvHOO++ojSMiIgKurq46jYPIXHjIkchAevbsicTERDg6OsLf31/txA83Nze1ecvKyuDn54fU1NQK66ldu7Zer+/i4lLtZcrKygDcO+zYoUMHtefKD40K3mGKrASDRmQgbm5uaNSokU7ztm7dGjk5OXBwcEBwcLDGeZo2bYoDBw5g3LhxqmkHDhzQus7GjRvDxcUFv/zyCyZNmlTh+fLPzEpLS1XTfHx8UL9+fVy8eBFjxozRuN5mzZrhiy++wL///quKZmXjIDIXHnIkMoM+ffogMjISQ4cOxfbt23Hp0iXs27cPr732Go4cOQIAePHFF7Fq1SqsWrUKZ8+exdy5c3Hy5Emt63R2dkZcXBxeeeUVfP7557hw4QIOHDiAlStXAgC8vb3h4uKCbdu24a+//oJSqQRw72LthIQELF68GGfPnsWJEyewevVqLFq0CAAwevRo2NnZYeLEiTh16hS2bt2K9957z8h/QkTVx6ARmYFMJsPWrVvRrVs3TJgwAQ899BBGjhyJS5cuwcfHBwAwYsQIvPHGG4iLi0ObNm1w+fJlTJkypdL1vv7665g5cybeeOMNNG3aFCNGjMD169cBAA4ODliyZAk++eQT+Pv749FHHwUATJo0CZ999hmSkpIQHh6O7t27IykpSXWaf61atbB582acOnUKrVq1wpw5c7BgwQIj/ukQ6UcmeICciIgkgHtoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERSQKDRkREksCgERGRJPwfSPAEs0HaciEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4523±0.2470 95CI=(0.1672, 0.8707)\n", - " MSE: 0.5403±0.5099 95CI=(0.0346, 1.3158)\n", - " R2: -53.9573±538.8569 95CI=(-0.8780, 0.9748)\n", - "RMSE: 0.6364±0.3677 95CI=(0.1859, 1.1471)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+IElEQVR4nO3deVhU9eLH8c+wzSDCKCCbsokmLuS+4L7ibnYz3MUlK8PMtEKzgrwZ6m3TTCpTsWu2XLcyvS6lUG65gLngLiopXHIJFC7I8v394Y+5DjAwDLOcOfN5Pc88T3PmnDPfcXLenjPnzFEIIQSIiIisnJ2lB0BERGQMDBoREckCg0ZERLLAoBERkSwwaEREJAsMGhERyQKDRkREssCgERGRLDBoREQkCwwaSUZqaipGjhwJPz8/1KlTB6GhoVi4cCHy8/ON+jxBQUEYNmxYhelffPEF7O3tMWLECBQUFOhc/urVq1AoFEhMTNRMi4uLg0KhgJ2dHa5cuVJhmby8PLi5uUGhUGDy5MnGeBlUCxs2bMBHH31k6WGQkTFoJAlpaWno2rUrrl69io8++gg//vgjxowZg4ULF2Ls2LEmf/5//OMfmD59OsaPH4/NmzdDpVIZtJ66deti7dq1Fab/61//QlFRERwdHWs7VDICBk2eGDSShA0bNqCgoACbNm1CZGQk+vbti7i4OEybNg0//PAD7t69a7Lnfv311/Haa6/hxRdfxLp16+Dg4GDwukaPHo1169ahtLRUa/rq1avx5JNPwsnJqbbDtThjbzETGQuDRpJQtuWiVqu1pterVw92dnbVhmDy5MmoW7cuzpw5g379+sHFxQUNGjTAzJkzdX4Al5aWYsaMGYiPj8dbb72F5cuXQ6FQaM1z8+ZNREZGwtXVFWq1GqNHj0ZWVpbOcUydOhUZGRnYs2ePZtqFCxewf/9+TJ06tdJlcnNz8corryA4OBhOTk5o2LAhZs+ejby8PK35PvnkE/Ts2RNeXl5wcXFBWFgYli5diqKiIq35UlNTMWzYMHh5eUGpVMLPzw9Dhw7FH3/8AaDyXaZlFAoF4uLiNPfLdqWmpKRg1KhRqF+/PkJCQgAAQgisXLkSbdq0gbOzM+rXr49Ro0ZV2OXau3dvtGrVCocOHULXrl3h7OyMoKAgzZbs9u3b0a5dO9SpUwdhYWHYuXNnhXFdvHgR48aN07ym5s2b45NPPtGaJykpCQqFAl9//TUWLFgAPz8/uLm5oX///jh//rzWeLZv345r165BoVBobiQDgkgC0tPTRb169cSoUaPE5cuXRW5urti2bZtQq9XixRdfrHb5qKgo4eTkJAICAsSiRYvE7t27RVxcnHBwcBDDhg3TmjcwMFBERESIMWPGCIVCIZYtW1bpOvPz80Xz5s2FWq0WH3/8sdi1a5eYNWuWCAgIEADE2rVrNfPGxsYKAOLPP/8UPXr0EJGRkZrHYmJiRFBQkCgtLRUuLi4iKipK81heXp5o06aN8PT0FB988IH46aefxLJly4RarRZ9+/YVpaWlmnlffvllkZCQIHbu3Cn27t0rPvzwQ+Hp6SmmTJmimef+/fvCw8NDdOjQQXz33XciOTlZfPvtt+L5558XaWlpmj/r8uMvA0DExsZWeF2BgYEiJiZG7NmzR2zdulUIIcT06dOFo6OjmDt3rti5c6fYsGGDCA0NFd7e3iIrK0uzjl69egkPDw/RrFkzsXr1arFr1y4xbNgwAUC8/fbbIiwsTHz99ddix44dokuXLkKpVIobN25olj9z5oxQq9UiLCxMfPnll2L37t1i7ty5ws7OTsTFxWnm27dvnwAggoKCxPjx48X27dvF119/LQICAkTTpk1FcXGxZn3dunUTPj4+4tChQ5obWT8GjSTj7NmzIjQ0VADQ3GbNmqX1oa5LVFSUAFAhTosWLRIAxP79+zXTAgMDNet//fXXda4zISFBABDff/+91vTp06dXGbS1a9cKpVIpbt++LYqLi4Wvr6/mg7d80OLj44WdnZ04evSo1nNs3LhRABA7duyodGwlJSWiqKhIfPnll8Le3l7cuXNHCCHEsWPHBABNdCpjSNDeeustrfkOHTokAIj3339fa3pGRoZwdnYWr732mmZar169BABx7NgxzbTbt28Le3t74ezsrBWvEydOCABi+fLlmmkDBw4UjRo1Ejk5OVrPNXPmTKFSqTSvvSxoQ4YM0Zrvu+++EwC0ojV06FARGBio40+IrBV3OZIkXL16FcOHD4eHhwc2btyI5ORkLF26FImJiXjmmWf0Xs/48eO17o8bNw4AsG/fPq3pbdq0QUBAAFasWIHDhw9Xuq59+/bB1dUVI0aMqHSdujz99NNwcnLCV199hR07diArK0vnkY0//vgjWrVqhTZt2qC4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1833±0.0072 95CI=(0.1726, 0.1958)\n", - " MSE: 0.0722±0.0093 95CI=(0.0590, 0.0885)\n", - " R2: 0.9634±0.0046 95CI=(0.9540, 0.9695)\n", - "RMSE: 0.2682±0.0170 95CI=(0.2430, 0.2975)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKt0lEQVR4nO3deVxU5f4H8M+wzQACCooDioBLKmruC5q5L5iYtriloqm3XFKzbmpqoGVot59aV8UytzJvlgtmmorlklsu4Iq7aFyFUFFQiJHl+f3hncmBGRiGWc7MfN6vF697OfOcc77DJB/Oc57zPDIhhAAREZGNc7J2AURERKbAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCMiIrvAQCOjjRw5EjKZTO/X0aNHy2zboEGDEsdNT0/HxIkTUbt2bbi7uyM4OBijR4/GH3/8YfL6K1WqVGJ7UVERvvnmG3Tv3h1Vq1aFq6sr/P390bdvX2zbtg1FRUWatvre+/z580scNyMjAyNHjkTVqlXh4eGB8PBw/PLLLyXahYSEQCaToXPnzjrr/vrrrzXn2bdvn9HvnyouNzcXMTEx/BwkwsXaBZDtmj17Nt58880S2yMjIyGXy9G6dWut7e7u7vj1119LbHuaSqXC888/j/v372POnDkICwvDpUuXEB0djV27duHChQvw8vIy/Zv5n7y8PPTv3x+7d+/G4MGDERcXB6VSiTt37mDnzp149dVXsWHDBrz44ouafV555RW88847WsepVatWiffVrVs3PHjwAJ999hn8/f2xdOlS9O7dG3v27EGnTp202nt5eeHAgQO4du0a6tSpo/XaqlWr4O3tjezsbBO/eyqv3NxczJkzBwD0/gFCFiSITGjfvn0CgJg1a5bW9qioKOHp6Vnm/gkJCQKA+Oqrr7S2r1+/XgAQmzdvNlmtumoaN26cACDWrl2rc5/Lly+L06dPa74HICZMmFDmuZYuXSoAiMOHD2u25efni7CwMNGmTRuttsHBwSIiIkLUrFlTvP/++1qvXb16VchkMjF27FgBQOzdu7fMc0tZbm6utUuokDt37ggAIjo62tqlkBCCXY5kUitXroRMJsPrr79u1P6urq4AAB8fH63tlStXBgAoFIpS91+zZg1kMhkSEhIwatQo+Pr6wtPTE5GRkbh+/Xqp+6anp+Orr75Cr169MGLECJ1t6tWrh2effdbAd/O3LVu2oH79+ggPD9dsc3FxwbBhw3Ds2DHcunVLq72TkxNGjBiBtWvXanVxrlq1CkFBQejevbvO85w4cQL9+vWDr68vFAoFmjdvju+//16rzZ07dzB+/HiEhYWhUqVK8Pf3R9euXfHbb7+VOF5cXByaNm2KSpUqwcvLCw0aNMD777+veT0mJgYymazEfurP4caNG5ptISEh6Nu3LzZv3ozmzZtDoVBorm7S09PxxhtvoGbNmnBzc0NoaCjmzJmDgoICzf43btyATCbDv/71LyxYsAAhISFwd3dH586dcfnyZeTn52P69OkIDAyEj48PBgwYgIyMjBK1bdiwAeHh4fD09ESlSpXQq1cvJCUlabVRd0dfvXoVffr0QaVKlRAUFIR33nkHKpVKU0+1atUAAHPmzNF0A48cOVLnZ0Pmx0Ajk8nKysLGjRvRrVs3hIaGlnj9r7/+glKphLOzM2rWrImJEyciMzNTq02HDh3QsmVLxMTE4Pjx43j06BESExPx/vvvo0WLFnp/kRc3evRoODk5Yf369Vi8eDGOHTuGzp0748GDB3r32bt3L/Lz89G/f//yvG2sX78e7u7ukMvlaNmyJVavXl2izblz53QGoXrb+fPnS7z2+uuv4/bt29i1axcAoLCwEGvXrsXIkSPh5FTyn+7evXvRoUMHPHjwAMuXL8fWrVvRrFkzDBo0CGvWrNG0U//Mo6OjsX37dqxevRq1a9dG586dte4Ffffddxg/fjw6deqELVu2ID4+Hm+//TZycnLK9fN5WmJiIv75z39i0qRJ2LlzJ15++WWkp6ejTZs22LVrFz744AP8/PPPGD16NGJjYzF27NgSx1i6dCkOHTqEpUuX4quvvsLFixcRGRmJ0aNH486dO1i1ahU++eQT7NmzB2PGjNHa9+OPP8aQIUMQFhaG77//Ht988w0ePnyIjh07Ijk5Wattfn4++vXrh27dumHr1q14/fXXsWjRIixYsAAAEBAQgJ07dwJ48t/bkSNHcOTIEcyePdvonw9VkLUvEcl+xMXFCQDiP//5T4nXFi5cKBYuXCh2794tdu/eLWbOnCk8PDxEgwYNxMOHD7XaZmdni8jISAFA89W5c2dx7969MmtYvXq1ACAGDBigtf3QoUMCgPjoo48024p3Oc6fP18AEDt37jT4PQ8dOlR8++234sCBA2Ljxo0iIiJCZ5erq6ureOONN0rsf/jwYQFArF+/XrMtODhYvPDCC0IIITp16iReeeUVIYQQ27dvFzKZTKSkpIgffvihRJdjgwYNRPPmzUV+fr7WOfr27SsCAgJEYWGhzvdQUFAg8vPzRbdu3bR+bhMnThSVK1cu9f1HR0cLXb9G1J9DSkqK1vtydnYWly5d0mr7xhtviEqVKombN29qbf/0008FAHH+/HkhhBApKSkCgGjatKnWe1m8eLEAIPr166e1/5QpUwQAkZWVJYQQ4o8//hAuLi7irbfe0mr38OFDoVQqxcCBAzXboqKiBADx/fffa7Xt06ePqF+/vuZ7djlKC6/QyGRWrlwJPz8/DBgwoMRrb7/9Nt5++2306NEDPXr0wEcffYSvv/4aFy9exIoVKzTt8vPzMWjQIJw6dQorVqzAgQMHsHbtWty6dQs9evRAVlaWQbW89tprWt+3b98ewcHB2Lt3b8XeZDHffvsthg4dio4dO+Lll1/Gjh070LdvX8yfPx937tzRaqura66s115//XX8+OOPuHfvHlauXIkuXbogJCSkRLurV6/i4sWLmvddUFCg+erTpw/S0tJw6dIlTfvly5ejRYsWUCgUcHFxgaurK3755RdcuHBB06ZNmzZ48OABhgwZgq1bt+Lu3bvl+dHo9Oyzz+KZZ57R2vbTTz+hS5cuCAwM1Ko7IiICALB//36t9n369NG6Qm3YsCEA4IUXXtBqp96uHh27a9cuFBQUYMSIEVrnUSgU6NSpU4mRijKZDJGRkSXqv3nzppHvnsyNgUYmcebMGZw4cQLDhg2DXC43aJ8BAwbA09NTa3j/ypUr8fPPP2Pz5s0YM2YMOnbsiBEjRmDnzp1ITEzE4sWLDTq2UqnUue3evXt691GPTExJSTHoHPoMGzYMBQUFOHHihGabn5+fznOru/98fX11HuuVV16BQqHAokWLsG3bNowePVpnuz///BMA8O6778LV1VXra/z48QCgCaSFCxdi3LhxaNu2LTZt2oSjR4/i+PHj6N27N/766y/NMYcPH45Vq1bh5s2bePnll+Hv74+2bdsiISHBiJ/KEwEBATpr37ZtW4m6GzVqpFW3WvGflZubW6nb8/LyNOcBgNatW5c414YNG0qcx8PDo8Q9W7lcrjkeSQ+H7ZNJrFy5EgBK3LMoixBC66/tU6dOwdnZGS1atNBqV7t2bfj5+eHcuXMGHTc9PV3ntrp16+rdp0uXLnB1dUV8fLzOxxEMJf63CPzT76tJkyY4e/ZsibbqbY0bN9Z5LA8PDwwePBixsbHw9vbGSy+9pLNd1apVAQAzZszQ26Z+/foAgHXr1qFz586Ii4vTev3hw4cl9hk1ahRGjRqFnJwcHDhwANHR0ejbty8uX76M4OBgzS98lUql9YeMvqs5XVeiVatWxbPPPot58+bp3CcwMFDn9vJS/4w2btyI4OBgkxyTpIWBRhWmUqmwbt06tGnTRu8vZl02btyI3NxctGvXTrMtMDAQhYWFOH78ONq2bavZfvnyZdy7dw81a9Y06NjffvstXn75Zc33hw8fxs2bN0sNXKVSiTFjxiAuLg5ff/21zpGO165dQ05OTqkjHb/55hu4urqiZcuWmm0DBgzA+PHj8fvvv2veV0FBAdatW4e2bduW+kt73Lhx+PPPP9GpUye9ozzr16+PevXq4fTp0/j444/1Hgt4EirFr6LPnDmDI0eOICgoSOc+np6eiIiIwOPHj9G/f3+cP38ewcHBmu7PM2fOaD13uG3btlJreFrfvn2xY8cO1KlTB1WqVDF4v/Lq1asXXFxccO3aNa3/NipC/XN8+sqWrIeBRhUWHx+PzMxMvWFx8+ZNDB06FIMHD0bdunUhk8mwf/9+LF68GI0aNdLab9SoUVi0aBFefvllzJo1C/Xr18f169fx8ccfw9PT0+ArpxMnTmDMmDF49dVXkZqaipkzZ6JGjRqa7jd9Fi5ciOvXr2PkyJHYtWsXBgwYgOrVq+Pu3btISEjA6tWr8d133+HZZ5/Fv/71LyQnJ6Nbt26oWbMmMjIysHLlSuzevRsxMTGaKwLgyb2wpUuX4tVXX8X8+fPh7++PZcuW4dKlS9izZ0+pNTVr1gzx8fFlvucvvvgCERER6NWrF0aOHIkaNWogMzMTFy5cQGJiIn744QcATwLkww8/RHR0NDp16oRLly5h7ty5CA0N1RomP3bsWLi7u6NDhw4ICAhAeno6YmNj4ePjowmvPn36wNfXF6NHj8bcuXPh4uKCNWvWIDU1tcx61ebOnYuEhAS0b98ekyZNQv369ZGXl4cbN25gx44dWL58ucF/yJQmJCQEc+fOxcyZM3H9+nX07t0bVapUwZ9//oljx47B09NT8xiBoby8vBAcHIytW7eiW7du8PX1RdWqVXXe5yQLsPaoFLJ9PXr0EJ6eniI7O1vn65mZmWLAgAEiJCREuLu7Czc3N1GvXj3x3nvviQcPHpRof+XKFTF8+HAREhIi5HK5qFWrlhg0aJBmtFtp1KPrdu/eLYYPHy4qV64s3N3dRZ8+fcSVK1e02up72LugoECsXbtWdO3aVfj6+goXFxdRrVo1ERERIdavX68ZYffjjz+K5557TlSrVk24uLgILy8v0bFjR52jPIUQIj09XYwYMUL4+voKhUIh2rVrJxISEkq0e3qUoz66RjkKIcTp06fFwIEDhb+/v3B1dRVKpVJ07dpVLF++XNNGpVKJd999V9SoUUMoFArRokULER8fL6KiokRwcLCm3dq1a0WXLl1E9erVhZubmwgMDBQDBw4UZ86c0TrnsWPHRPv27YWnp6eoUaOGiI6OFl999ZXOUY763tedO3fEpEmTRGhoqHB1dRW+vr6iZcuWYubMmeLRo0dCiL9HOf7rX//S2nfv3r0CgPjhhx+0tqv/Wzh+/LjW9vj4eNGlSxfh7e0t5HK5CA4OFq+88orYs2ePpo2+/zZ0jercs2ePaN68uZDL5QKAiIqK0vkeyfxkQvyvw5/IDqxZswajRo3C8ePH0apVK2uXQ0QWxFGORERkFxhoRERkF9jlSEREdoFXaEREZBcYaEREZBcYaEREZBfs/sHqoqIi3L59G15eXqVODktERNIkhMDDhw8RGBioc+kkNbsPtNu3b+udzoeIiGxHampqqbPG2H2geXl5AXjyg/D29rZyNUREZIgj1+5hwvpEPC4oQniQO75/J1Lz+1wfuw80dTejt7c3A42IyAYcvHIXkzZdRIGzAj0a+WN+v7r4/p3S1xQEOCiEiIgk5OCVuxi99jhUBUXo1sAfy4a1gNzF2aB9GWhERCQJT4dZ13KGGcBAIyIiCSh+ZRZXzjADGGhERGRlFelmfBoDjYiIrObQVdOEGcBAIyIiKzl09S5eX2OaMAMYaEREZAWmDjOAgUZERBZmjjADGGhERGRB5gozgIFGREQWYs4wAxhoRERkAeYOM4CBRkREZnbwivnDDGCgERGRGZnqoWlDMNCIiMgsLBlmAAONiIjMwNJhBjDQiIjIxKwRZgADjYiITKiiS8BUBAONiIhMwhRLwFQEA42IiCrMWt2MT2OgERFRhZhyCZiKYKAREZHRLDEDiKEYaEREZBQphRnAQCMiIiNILcwABhoREZWTFMMMYKAREVE5SDXMAAYaEREZSMphBjDQiIjIAFIPM4CBRkREZbCFMAMYaEREVApbCTOAgUZERHrYUpgBDDQiItLB1sIMYKAREVExthhmgJUD7cCBA4iMjERgYCBkMhni4+P1tn3jjTcgk8mwePFii9VHRORobDXMACsHWk5ODpo2bYolS5aU2i4+Ph6///47AgMDLVQZEZHjseUwAwAXa548IiICERERpba5desWJk6ciF27duGFF16wUGVERI7F1sMMsHKglaWoqAjDhw/HP//5TzRq1MigfVQqFVQqleb77Oxsc5VHRGQX7CHMAIkPClmwYAFcXFwwadIkg/eJjY2Fj4+P5isoKMiMFRIR2TZ7CTNAwoF28uRJfPbZZ1izZg1kMpnB+82YMQNZWVmar9TUVDNWSURku+wpzAAJB9pvv/2GjIwM1KpVCy4uLnBxccHNmzfxzjvvICQkRO9+crkc3t7eWl9ERKTN3sIMkPA9tOHDh6N79+5a23r16oXhw4dj1KhRVqqKiMj22WOYAVYOtEePHuHq1aua71NSUnDq1Cn4+vqiVq1a8PPz02rv6uoKpVKJ+vXrW7pUIiK7YK9hBlg50E6cOIEuXbpovp86dSoAICoqCmvWrLFSVURE9smewwywcqB17twZQgiD29+4ccN8xRAR2TF7DzNAwoNCiIjINBwhzAAGGhGRXXOUMAMYaEREdsuRwgxgoBER2SVHCzOAgUZEZHccMcwABhoRkV1x1DADGGhERHbDkcMMYKAREdkFRw8zgIFGRGTzGGZPMNCIiGzYwSsMMzUGGhGRjTp45S5Gr2WYqTHQiIhsEMOsJAYaEZGNYZjpxkAjIrIhDDP9GGhERDbi6TDryjArgYFGRGQDil+ZxTHMSmCgERFJHLsZDcNAIyKSsENXGWaGYqAREUkUZwApHwYaEZEEMczKj4FGRCQxDDPjMNCIiCSEYWY8BhoRkUQwzCqGgUZEJAEMs4pjoBERWRmXgDENBhoRkRXxoWnTYaAREVkJw8y0GGhERFbAMDM9BhoRkYUxzMyDgUZEZEFcAsZ8GGhERBbCJWDMi4FGRGQB7GY0PwYaEZGZcQkYy2CgERGZEWcAsRyrBtqBAwcQGRmJwMBAyGQyxMfHa17Lz8/HtGnT0KRJE3h6eiIwMBAjRozA7du3rVcwEVE5MMwsy6qBlpOTg6ZNm2LJkiUlXsvNzUViYiJmz56NxMREbN68GZcvX0a/fv2sUCkRUfkwzCxPJoQQ1i4CAGQyGbZs2YL+/fvrbXP8+HG0adMGN2/eRK1atQw6bnZ2Nnx8fJCVlQVvb28TVUtEpB/DzLQM/T3uYsGaKiwrKwsymQyVK1fW20alUkGlUmm+z87OtkBlRERPMMysx2YGheTl5WH69OkYOnRoqQkdGxsLHx8fzVdQUJAFqyQiR8Ywsy6bCLT8/HwMHjwYRUVFWLZsWaltZ8yYgaysLM1XamqqhaokIkfGMLM+yXc55ufnY+DAgUhJScGvv/5a5n0wuVwOuVxuoeqIiBhmUiHpQFOH2ZUrV7B37174+flZuyQiIi0MM+mwaqA9evQIV69e1XyfkpKCU6dOwdfXF4GBgXjllVeQmJiIn376CYWFhUhPTwcA+Pr6ws3NzVplExEBYJhJjVWH7e/btw9dunQpsT0qKgoxMTEIDQ3Vud/evXvRuXNng87BYftEZA4MM8uxiWH7nTt3Rml5KpFH5IiItDDMpMkmRjkSEUkFw0y6GGhERAZimEkbA42IyAAMM+ljoBERlYFhZhsYaEREpWCY2Q4GGhGRHgwz28JAIyLSgWFmexhoRETFMMxsEwONiOgpDDPbxUAjIvofhpltY6AREYFhZg8YaETk8Bhm9oGBRkQOjWFmPxhoROSwGGb2hYFGRA6JYWZ/GGhE5HAYZvaJgUZEDoVhZr8YaETkMBhm9o2BRkQOgWFm/xhoRGT3GGaOgYFGRHbt4BWGmaNgoBGR3Tp45S5Gr2WYOQoGGhHZJYaZ42GgEZHdYZg5JgYaEdkVhpnjYqARkd14Osy6MswcDgONiOxC8SuzOIaZw2GgEZHNYzcjAQw0IrJxh64yzOgJBhoR2SzOAEJPc7F2AUTkuAqLBI6lZCLjYR78vRRoE+oLZyeZQfsyzKg4BhoRWcXOc2mYsy0ZaVl5mm0BPgpER4ahd+OAUvdlmJEu7HIkIovbeS4N49YlaoUZAKRn5WHcukTsPJemd1+GGenDQCOyQ4VFAkeu3cPWU7dw5No9FBYJa5ekUVgkMGdbMnRVpN42Z1uyzpoZZlQaqwbagQMHEBkZicDAQMhkMsTHx2u9LoRATEwMAgMD4e7ujs6dO+P8+fPWKZbIRuw8l4bnFvyKISuOYvJ3pzBkxVE8t+DXUq96LOlYSmaJK7OnCQBpWXk4lpKptZ1hRmWxaqDl5OSgadOmWLJkic7XP/nkEyxcuBBLlizB8ePHoVQq0aNHDzx8+NDClRLZhop05VlKxkP9YaavHZeAIUNYdVBIREQEIiIidL4mhMDixYsxc+ZMvPTSSwCAtWvXonr16li/fj3eeOMNS5ZKJHlldeXJ8KQrr0eY0uCRhObg76UoVzs+NE2Gkuw9tJSUFKSnp6Nnz56abXK5HJ06dcLhw4f17qdSqZCdna31ReQIjO3KKw9T3JtrE+qLAB8F9EWqDE9GO7YJ9WWYUblIdth+eno6AKB69epa26tXr46bN2/q3S82NhZz5swxa21EUmRMV155VGSY/dOcnWSIjgzDuHWJkAFaV5TqkIuODMORa/cYZlQukr1CU5PJtP+OE0KU2Pa0GTNmICsrS/OVmppq7hKJJKG8XXnlYep7c70bByBuWAsofbRrUfooEDesBSrJXRlmVG6SvUJTKpUAnlypBQT8/ddfRkZGiau2p8nlcsjlcrPXRyQ16q689Kw8nffRZHgSGG1Cfct1XHPdm+vdOAA9wpQlZgp5+sqMS8BQeUj2Ci00NBRKpRIJCQmabY8fP8b+/fvRvn17K1ZGJE3qrjwAJe5PPd2VV94BIea4N6e+F/fTmdsAgL7PBiK8jl+JbkYuAUPlYdUrtEePHuHq1aua71NSUnDq1Cn4+vqiVq1amDJlCj7++GPUq1cP9erVw8cffwwPDw8MHTrUilUTSZe6K6/4vS6lEfe61Ex9b07fvbiBrWpi+f7r7GYko1k10E6cOIEuXbpovp86dSoAICoqCmvWrMF7772Hv/76C+PHj8f9+/fRtm1b7N69G15eXtYqmUjy9HXlGXplVnzC4KqehnXhG3JvTn0vrnj3ZVpWHj775ckftwwzMpZMCCGdOXHMIDs7Gz4+PsjKyoK3t7e1yyGSNF1XT0pvBfIKCpGVm1/qvbmD07rqDM3CIoGj1+/h0NW7+PrIDTxSFeo9v9zFCUkf9ICHm2Rv75MVGPp7nP/VEBEA/VdPf2b/PciktGH26jB7+grvxt1crD6cgge5+QbVoCoowunULITX8avAOyFHxUAjIoNGMlb2cIXcxQnp2SrNa8Xvzem6wiuv9Gzj9yXHxkAjIoNGMt7PzcfMPg0RFuCNuzmqEvfm9F3hlVfmI1XZjYh0kOywfSKyHENHKM7bcQHvbjwN1/+F2E9nbuPItXt4XFCk9wqvvHw93UxwFHJEvEIjonLNHpKWlYfx65O0tvl6uiEz57FJalH6uJvkOOR4eIVGRGVOGFwWU4VZgBEzmRCpMdCIqNRZRizJmJlMiNQYaEQE4O9ZRvy9rHMPq4qHK3qEKa1ybrIPDDQi0ujdOABjOtaxyrnv5+ZXaK02IgYaEWlJvZ9rtXMbu1YbEcBRjkQOofj8jKXN7Rjs62Hh6v5mzFptRGoMNCI7V96VpoeHh2DejgsosuAsr8au1Ub0NHY5Etmx8qw0rV6j7OdzaejTpPzLzBirImu1ET2NV2hEdqo8K00nJKdXeA5GY1VkrTaipzHQiOyUoStNL/n1KhbvuWySaavKMrxdLbzfJwynUh8YtVYbUWkYaER2ytARg18cuGaRMAvwUSCmX2M4O8m4PAyZBe+hEdmpG3cNG36f+1j/gpumxHtkZG4MNCI7tPNcGhbvuWztMgAAHm7OWD6sBe+Rkdmxy5HIzpQ2GMSSZABeeDYAnw1uziszsgiDA+3zzz83+KCTJk0yqhgiqriyBoNYyr8HN0ffZoHWLoMciMGBtmjRIq3v79y5g9zcXFSuXBkA8ODBA3h4eMDf35+BRmRFUpk+at7PFxDxbACvzshiDL6HlpKSovmaN28emjVrhgsXLiAzMxOZmZm4cOECWrRogQ8//NCc9RJRGaQyfVRaVh4nGyaLMmpQyOzZs/Hvf/8b9evX12yrX78+Fi1ahFmzZpmsOCIqv4ou1mlKUrlaJMdgVKClpaUhPz+/xPbCwkL8+eefFS6KiIz39GKd1iaVq0VyDEYFWrdu3TB27FicOHECQjwZS3XixAm88cYb6N69u0kLJKLy6904AFO6P2O188vw5EFqTjZMlmRUoK1atQo1atRAmzZtoFAoIJfL0bZtWwQEBOCrr74ydY1EZIRafpZZBqZ41yYnGyZrMeo5tGrVqmHHjh24fPkyLl68CCEEGjZsiGeesd5fhESkLfORyuzn6NNYiaTUB1qPCXCyYbKWCj1YHRISAiEE6tSpAxcXPqNNJCW+nm5mP8fha/dwbGZ3nLx5n5MNk9UZ1eWYm5uL0aNHw8PDA40aNcIff/wB4MkD1fPnzzdpgURkHKWPu9nP8eCvfJy8eR/hdfzwYrMaCK/jxzAjqzEq0GbMmIHTp09j3759UCj+HsXUvXt3bNiwwWTFEdHfC29uPXULR67dQ6GepaSLt2sZXAVKb7nZ6+PQfJIKo/oJ4+PjsWHDBrRr1w4y2d9/jYWFheHatWsmK47I0e08l1Zi4c0AHfeodLVTessRWFmB9Gzz3kvj0HySCqOu0O7cuQN/f/8S23NycrQCjoiMt/NcGsatSywxL2N6Vh7GrUvEznNpKCwS+GzPZbypq122Col/ZJmtPg7NJ6kxKtBat26N7du3a75Xh9iKFSsQHh5umsqIHEjx7sLHBUV6Z8xXb5u++Sw6zP8Vi/ZcsWSpADg0n6TJqC7H2NhY9O7dG8nJySgoKMBnn32G8+fP48iRI9i/f7/JiisoKEBMTAy+/fZbpKenIyAgACNHjsSsWbPg5MSl3Mg+7DyXhpgfk5Ge/fcVlq+nGzJzHuvdRwB4kJsPoOSMPabm4iRDJYXL/873BIfmkxQZFWjt27fHoUOH8Omnn6JOnTrYvXs3WrRogSNHjqBJkyYmK27BggVYvnw51q5di0aNGuHEiRMYNWoUfHx8MHnyZJOdh8hadp5Lw5vrEktsLy3MLG31yNZoX7cqjqVkcmg+SZpMqOeukqC+ffuievXqWLlypWbbyy+/DA8PD3zzzTcGHSM7Oxs+Pj7IysqCt7e3uUolKrfCIoGWHyVoXflITRUPV5yY1YPhRVZl6O9xo/rtunTpgpUrVyIry3w3nAHgueeewy+//ILLl58sJX/69GkcPHgQffr0Met5iSzh6PV7kg4zAIh9qQnDjGyGUYHWpEkTzJo1C0qlEi+//DLi4+Px+LHpu0imTZuGIUOGoEGDBnB1dUXz5s0xZcoUDBkyRO8+KpUK2dnZWl9EUnTk2j1rl1CqiMZK3iMjm2JUoH3++ee4desWtm7dCi8vL0RFRUGpVOIf//iHSQeFbNiwAevWrcP69euRmJiItWvX4tNPP8XatWv17hMbGwsfHx/NV1BQkMnqITItw3r7FS7WGQA1rF2wVc5LZCyT3EPLy8vDtm3bMG/ePJw9exaFhYWmqA1BQUGYPn06JkyYoNn20UcfYd26dbh48aLOfVQqFVSqvx8kzc7ORlBQEO+hkeQcunIXr6383dpl6OTp5owzMb3Y3UiSYOg9tArPKJyeno7vvvsO69atw5kzZ9C6deuKHlIjNze3xPB8Z2dnFBUV6d1HLpdDLjf/dD9EFdWujh8qe7iWeh9NBkOv40zrH8/XZpiRzTGqLyM7OxurV69Gjx49EBQUhLi4OERGRuLy5cv4/XfT/cUZGRmJefPmYfv27bhx4wa2bNmChQsXYsCAASY7B5G1ODvJMP+l0h9zsUaYVfFwxcSu9axwZqKKMarL0d3dHVWqVMHAgQPx2muvmfSq7GkPHz7E7NmzsWXLFmRkZCAwMBBDhgzBBx98ADc3w5bG4LB9kronD1af15pz0UfhjLwCAVWB/t4Ic1k+rAUHg5CkGPp7vNyBJoTAihUrMGzYMHh4WGZF3IpgoJEtKCwSmgeXE5L/xE9n0ixeQxUPV8S+1IRhRpJjtufQhBCYOHEibt26VaECiehvzk4yhNfxg6uTk1XC7MWmgTgxqwfDjGxauQPNyckJ9erVw7170n6GhsjWFBYJzNp6zirnlsnAQSBk84waFPLJJ5/gn//8J86ds84/PiJ7dCwl02pzOAZWNv/q1kTmZtSw/WHDhiE3NxdNmzaFm5sb3N21/zFkZmaapDgiR6C+f/bzOct3Nap1qFvVaucmMhWjAm3x4sUmLoPIMelaadrSqni4ol1tP6udn8hUjAq0qKgoU9dB5HDUK1Jbe7kLTkBM9sLoSeKuXbuGWbNmYciQIcjIyAAA7Ny5E+fPnzdZcUT2oPhq1IVFAoVFAtFbz1s9zN7u/gxHNpLdMOoKbf/+/YiIiECHDh1w4MABzJs3D/7+/jhz5gy++uorbNy40dR1EtkkXV2Kvp6u8FG44s+HqlL2tIyQqtJ/lpTIUEZdoU2fPh0fffQREhIStGbs6NKlC44cOWKy4ohsmbpLsfj9scycfKTcy7VSVdr8vRTWLoHIZIwKtLNnz+qcT7FatWp8Po0IT7oZ52xLtnqXoj4yAAE+CrQJ9bV2KUQmY1SgVa5cGWlpJYcYJyUloUaNGhUuisjWHUvJtOrIxdKoh39ER4ZxMAjZFaMCbejQoZg2bRrS09Mhk8lQVFSEQ4cO4d1338WIESNMXSORzcl4KM0wAwCljwJxnICY7JBRg0LmzZuHkSNHokaNGhBCICwsDIWFhRg6dChmzZpl6hqJbE5VT+mtyVfZwxVLh7RAuzp+vDIju1ShFauvX7+OxMREFBUVoXnz5qhXT3prKHG2fbKkwiKBJb9ewapDN5D1l/6FOy1NBvCqjGyWRVasrl27NmrXro3CwkKcPXsW9+/fR5UqVSpySCKbtfNcGqZvPlvqCtTWEOCjQHRkGMOM7J5RgTZlyhQ0adIEo0ePRmFhITp16oTDhw/Dw8MDP/30Ezp37mziMomkTSqzfjxtRHgwIhoHoE2oL7sYySEYNShk48aNaNq0KQBg27ZtuH79Oi5evIgpU6Zg5syZJi2QSOqkOkQ/onEAwnm/jByIUYF29+5dKJVKAMCOHTswcOBAPPPMMxg9ejTOnj1r0gKJpKywSGDNoRRJDdHnM2bkqIzqcqxevTqSk5MREBCAnTt3YtmyZQCA3NxcODs7m7RAIqmSwkz5xfEZM3JkRgXaqFGjMHDgQAQEBEAmk6FHjx4AgN9//x0NGjQwaYFEUiTFe2bAk2fMOACEHJVRgRYTE4PGjRsjNTUVr776KuTyJ8/cODs7Y/r06SYtkEhqpHTPrEv9avjH83WQ8TAP/l4KDgAhh2b0sP1XXnmlxDauk0aOQErTWv3j+ToIr8PFOYmACqyH9ssvv6Bv376oU6cO6tati759+2LPnj2mrI1IkqQyrRUHfhBpMyrQlixZgt69e8PLywuTJ0/GpEmT4O3tjT59+mDJkiWmrpHIanQtzimFJVdk4MAPouKMmvqqRo0amDFjBiZOnKi1fenSpZg3bx5u375tsgIrilNfkbF0jWIM8FFg9gsN8eH2C0jPyrPKfTTO/EGOxtDf40YFmpeXF5KSklC3bl2t7VeuXEHz5s3x6NGj8ldsJgw0Moa+UYzq66F/PB+KLw6kWLSmqPBg9ObMH+SADP09blSXY79+/bBly5YS27du3YrIyEhjDkkkGaWNYlRv+/F0Gka1D7ZYTW88H4o5LzbWOfOHrm5RIkdk8CjHzz//XPP/GzZsiHnz5mHfvn0IDw8HABw9ehSHDh3CO++8Y/oqiSyorFGMAkBaVh7uW2gS4sruLnivd0Odr+nrFmWXJDkig7scQ0NDDTugTIbr169XqChTYpcjldfWU7cw+btT1i5Dy3/GtisxPL+sblEuF0P2wuTLx6SklLxfcPfuXchkMvj58TkYko7CIoFjKZlGP2wshVGMxRV/VKCsblEZgDnbktEjTMn7beQwyv1g9YMHDzBz5kxs2LAB9+/fBwBUqVIFgwcPxkcffYTKlSubukYig5miC65NqC8CfBRWG8WoS/GQNbRb9FhKJh+8JodRrkDLzMxEeHg4bt26hddeew0NGzaEEAIXLlzAmjVr8Msvv+Dw4cNc5JOsQl8XXHpWHsatSzS4C87ZSYboyDCMW5cIGWDVUJPhyfyMxR+gNvThbqk8BE5kCeUKtLlz58LNzQ3Xrl1D9erVS7zWs2dPzJ07F4sWLTJpkURlMXUXXO/GAYgb1gL/3HgGD/MKTF2uwQR0P0BtaLeoFLtPicylXMP24+Pj8emnn5YIMwBQKpX45JNPdA7nJzK38nTBGap34wC82CzQBNUZr7KHK3qEKUtsV3eL6otmrolGjqhcgZaWloZGjRrpfb1x48ZIT0+vcFFPu3XrFoYNGwY/Pz94eHigWbNmOHnypEnPQbbPlF1wTz/XZe2baA9y83WGsLpbFECJUOOaaOSoytXlWLVqVdy4cQM1a9bU+XpKSopJRzzev38fHTp0QJcuXfDzzz/D398f165d48ATKsFUXXBSXLRTXwiru0WL18s10chRlSvQevfujZkzZyIhIQFubm5ar6lUKsyePRu9e/c2WXELFixAUFAQVq9erdkWEhJisuOT/ShrZKK+wRVPs+SinUpvOYa0qYVFe66U2fbG3Vy9r/VuHIAeYcoKPaZAZC/KNZfjf//7X7Rq1QpyuRwTJkzQrE6dnJyMZcuWQaVS4cSJEwgKCjJJcWFhYejVqxf++9//Yv/+/ahRowbGjx+PsWPHGnwMPljtONSBBGj3FBryoHFhkUDLjxLwwAKzf/RvFohXWwWhdYgvOv1rb5mPB8jAh6TJsZltcuKUlBSMHz8eu3fvhnpXmUyGHj16YMmSJSUmLK4IheJJ99DUqVPx6quv4tixY5gyZQq++OILjBgxQuc+KpUKKpVK8312djaCgoIYaA7C2OfQPttz2aCrJVMK8FGgX9OAMic5Vl9dHpzWlVde5JDMOts+8OT+1pUrT34B1K1bF76+ph9N5ebmhlatWuHw4cOabZMmTcLx48dx5MgRnfvExMRgzpw5JbYz0BxHeWcKKSwSaPlhAh78ZZm5GdXUFb3wbAB+OpNWZntd018ROQKTT31VXJUqVdCmTRtjdzdIQEAAwsLCtLY1bNgQmzZt0rvPjBkzMHXqVM336is0chzOTrJy/eI/lpJp8TAD/n4+7uDVuwa150PSRKUzOtAsoUOHDrh06ZLWtsuXLyM4WP+yHXK5HHK53NylkR2xZlAIwOD7dnxImqh0kg60t99+G+3bt8fHH3+MgQMH4tixY/jyyy/x5ZdfWrs0shGldT+qX7uU/tDKVQKV3V2R9Ve+0SM0iUjigda6dWts2bIFM2bMwNy5cxEaGorFixfjtddes3ZpZAP0DRCZ/UJDXMl4hNWHblilq1GXUR1CsHjPlRJzR/IhaSLDGT0oxFZw2L5jsuQzZRXx9AjGhOR0LtZJpIPZB4UQSVVpExVbU1lXX3xImqhiGGhkd8qaqNgaujaohgtpD8ucoqq8IzSJ6G8MNLI7UhzePrZjHbQJ9eXVF5EZMdDIbqhHLV7585G1S9HiJANaBlfh1ReRmTHQyC5IcZZ8tSIBnLx5n2FGZGYMNLJ5tjCiUYrdoET2plwLfBJJjVRHNBbHWT6IzI9XaGTTpDii8Wmc5YPIcniFRjbNml15PcL8EeCj/8qLs3wQWRav0MimWaMrz0kGLBrYDP7eCqRn/YXMnMf47/1cbD19G5k5f0+lpes5MyIyHwYa2bQ2ob6o7OFqkZWm1UY/F4r5Oy+WmKLqoxeboIqnG58zI7ISdjmSzctVFVjkPDIZMLZjCL76LaXEfbv0rDxMWJ+IrL8e48VmNRBex49hRmRhDDSyaZP/k4THhZYZ4ygEsCnxls4Rleptc7Ylo7BI6mMuiewTA41s1o4zt/HT2TSLnvPpe2TFCQBpWXk4lpJpuYKISIOBRjapsEjgnxtPW7sMnfgQNZF1MNDIJk3+Lgk5j4ssdj4ZAD9PN4Pa8iFqIutgoJHN2Xb6Nn46Y7muRvXQjg9fbIwAHwX0DfWQ4cloRz5ETWQdHLZPNuWnU7fw1nenLHrOp58nc3ICxq1LLHOxTiKyPAYa2YzYHcn44kCKxc43ukMIuocptZ4n6904AHHDWpSY2Z8PURNZHwONbMKOM2kWDbO3uz+Dyd3r6Xytd+MA9AhTcrFOIolhoJHkFRYJzNp6zmLnU3rLMbFr3VLbcLFOIulhoJHkHUvJRGbOY7OfR319FdOvEa+2iGwQA40k74sDVy1yHt4HI7JtDDSStHnbk7Hv0l2zHd/P0w2zXmgIpY8774MR2TgGGknW1lO3sOI38w4EmTegMa/IiOwEA40kad7281jx2w2zHd/TzRn/N7Apw4zIjjDQSHJidySbNcza1fbFt2PasXuRyM5w6iuSlMcFRWbtZlR6KxhmRHaKgUaS8bigCBO+PQlzLicW049TUxHZK3Y5kiQ86WZMMWuYvd39Gd4zI7JjDDSyOkvM0WjI7B9EZNvY5UhWZe57Zmqc/YPI/jHQyKrWHDRvN2MVD1csH9aCXY1EDoBdjmRxhUUCx1Iy8dVv1/DLxTtmOYfC1QkrhrdC+7pVeWVG5CBs6gotNjYWMpkMU6ZMsXYpZKSd59Lw3IJfMWTFUbOFGQDk5Rch53EBw4zIgdhMoB0/fhxffvklnn32WWuXQkbaeS4N49Ylai2MaS4yAHO2JaPQnP2ZRCQpNhFojx49wmuvvYYVK1agSpUq1i6HjFBYJDBnWzIsFS8CQFpWHo6lZFrojERkbTYRaBMmTMALL7yA7t27l9lWpVIhOztb64us71hKpkWuzIrLeGj5cxKRdUh+UMh3332HxMREHD9+3KD2sbGxmDNnjpmrovKyVrD4eymscl4isjxJX6GlpqZi8uTJWLduHRQKw34xzZgxA1lZWZqv1NRUM1dJhrB0sMgABPgo0CbU16LnJSLrkfQV2smTJ5GRkYGWLVtqthUWFuLAgQNYsmQJVCoVnJ2dtfaRy+WQy+WWLpXK0CbUF5U9XPEgN99i54yO5LyNRI5E0oHWrVs3nD17VmvbqFGj0KBBA0ybNq1EmJE0FRYJHL12D48LiixyvgAfBaIjw/gwNZGDkXSgeXl5oXHjxlrbPD094efnV2I7SdPOc2mYsy3Z7ANCZAC6NqiGMR3roE2oL6/MiByQpAONbJv6uTNTDtXv+2wAFg5sht+v38OmxP8i93EBWof4Iap9CNxcJH1LmIjMTCaEsOsnT7Ozs+Hj44OsrCx4e3tbuxyHUVgk8NyCX012Zebr6YqPXmyMPs8GmuR4RGQ7DP09zis0MgtTPHfm6+mK2X0bQemtYDciEZWJgUZmUZHnztSx9fGAJhzYQUQG400HMovyPHdW/MJL6aNAHJd8IaJy4hUamUWbUF/4eroiM0f/c2eV3V2x9LUWaB3ii5M37yPjYR78vdi9SETGYaCR0dTrmukKoqPX7+FhXoHO/dRRNf/lJuhQtyoAILyOnyVKJiI7xkAjo+w8l4aYH5ORnv33vTKltwIx/cLgpXDF62uOI79QoEkNb9x5qEJ6turvdnzwmYjMgIFG5bbzXBreXJdYYnt6dh7eXJcIV2cZ8gsFujXwx7JhLeDi5KT3So6IyFQYaFQuhUUC0zefLbVNfqFA1/+FmdzlyfRk7FIkInPjKEcql6PX7xk0wfCI8GBNmBERWQIDjcrlyLV7BrU7ceO+mSshItLGQKNyMnSmNLueUY2IJIiBRuUSXruqSdsREZkKA43KpV0dP1T2cC21TWUPV7TjIBAisjAGGpWLs5MMUeHBpbaZ/1ITDssnIovjsH0yiHpWkN+u3MGK364DAOQuTlA9tQq10luOmH6N+MA0EVkFA43KpGvVabmLEz55+Vn4eyv4wDQRSQK7HKlU6lWni69tpioowpQNp5D112O82KwGwuv4McyIyKoYaKRXYZHAnG3JpQ7An7MtGYVFHKJPRNbHQCO9ylp1WgBIy8rDsZRMyxVFRKQHA430+u3KHYPaVWR1aiIiU2GgkU6Hrt7VjGYsS3lWpyYiMhcGGpVw6OpdzXpmchf9/4nIAAT4PBndSERkbQw00qIOM1VBEbo18Menrz4LGf5eZVpN/X10ZBhHNxKRJPA5NNIoHmbq9cxcnZ1KPIfGVaeJSGoYaAQAOHjlLkavLRlmANC7cQB6hCm56jQRSRoDjUoNMzVnJxlXnSYiSeM9NAdnSJgREdkCBpoDY5gRkT1hoDkohhkR2RsGmgN6Osy6MsyIyE4w0BxM8SuzOIYZEdkJBpoDYTcjEdkzBpqDOHSVYUZE9o2B5gD0zQBCRGRPJB1osbGxaN26Nby8vODv74/+/fvj0qVL1i7LpjDMiMhRSDrQ9u/fjwkTJuDo0aNISEhAQUEBevbsiZycHGuXZhMYZkTkSGRCCGHtIgx1584d+Pv7Y//+/Xj++ecN2ic7Oxs+Pj7IysqCt7e3mSuUDoYZEdkLQ3+P29RcjllZWQAAX1/962+pVCqoVCrN99nZ2WavS2oYZkTkiCTd5fg0IQSmTp2K5557Do0bN9bbLjY2Fj4+PpqvoKAgC1ZpfQwzInJUNtPlOGHCBGzfvh0HDx5EzZo19bbTdYUWFBRkl12OhUVCa0mX/MIijP36BMOMiOyKXXU5vvXWW/jxxx9x4MCBUsMMAORyOeRyuYUqs56d59JKLLqpxjAjIkck6UATQuCtt97Cli1bsG/fPoSGhlq7JEnYeS4N49YlQt+ldf/mgQwzInI4kr6HNmHCBKxbtw7r16+Hl5cX0tPTkZ6ejr/++svapVlNYZHAnG3JesMMAD7ecRGFRTbRk0xEZDKSDrS4uDhkZWWhc+fOCAgI0Hxt2LDB2qVZzbGUTJ3djE9Ly8rDsZRMC1VERCQNku9yJG0ZD0sPs/K2IyKyF5K+QqOS/L0UJm1HRGQvJH2FRiXlFxaV+roMgNJHgTah+h8+JyKyR7xCsyGHrt7F2K9P6H1d9r//jY4Mg7OTTG87IiJ7xECzEcVnAPn3kGYI8NHuVlT6KBA3rAV6Nw6wUpVERNbDLkcboG86qz5NArVmCmkT6ssrMyJyWAw0iSttbkZnJxnC6/hZuUIiImlgl6OEcaJhIiLDMdAkimFGRFQ+DDQJYpgREZUfA01iGGZERMZhoEkIw4yIyHgMNIlgmBERVQwDTQIYZkREFcdAszKGGRGRaTDQrIhhRkRkOgw0K2GYERGZFgPNChhmRESmx0CzMIYZEZF5MNAsiGFGRGQ+DDQLYZgREZkXA80CDl5hmBERmRsDzcwOXrmL0WsZZkRE5sZAMyOGGRGR5TDQzIRhRkRkWQw0M2CYERFZHgPNxJ4Os64MMyIii2GgmVDxK7M4hhkRkcUw0EyE3YxERNbFQDOBQ1cZZkRE1sZAqyDOAEJEJA0MtApgmBERSQcDzUgMMyIiaWGgGYFhRkQkPQy0cmKYERFJk00E2rJlyxAaGgqFQoGWLVvit99+s0odDDMiIumSfKBt2LABU6ZMwcyZM5GUlISOHTsiIiICf/zxh0Xr4BIwRETSJhNCCGsXUZq2bduiRYsWiIuL02xr2LAh+vfvj9jY2DL3z87Oho+PD7KysuDt7W1UDXxomojIegz9PS7pK7THjx/j5MmT6Nmzp9b2nj174vDhwzr3UalUyM7O1vqqCIYZEZFtkHSg3b17F4WFhahevbrW9urVqyM9PV3nPrGxsfDx8dF8BQUFGX1+hhkRke2QdKCpyWQyre+FECW2qc2YMQNZWVmar9TUVKPOyTAjIrItLtYuoDRVq1aFs7NziauxjIyMEldtanK5HHK5vELn5RIwRES2R9JXaG5ubmjZsiUSEhK0tickJKB9+/ZmOSeXgCEisk2SvkIDgKlTp2L48OFo1aoVwsPD8eWXX+KPP/7Am2++afJzsZuRiMh2ST7QBg0ahHv37mHu3LlIS0tD48aNsWPHDgQHB5v0PFwChojItkn+ObSKMuT5Bc4AQkQkXXbxHJolMMyIiOyDQwcaw4yIyH44bKAxzIiI7ItDBhrDjIjI/jhcoDHMiIjsk0MFGsOMiMh+Sf45NFM5eu0e3tp0kWFGRGSnHOYKbfz6RIYZEZEdc5hAe8wwIyKya3bf5aieCCU8yB3z+9WFKjcHKivXREREhlMv1FzWxFZ2P/XVf//73wot8klERNKQmpqKmjVr6n3d7gOtqKgIt2/fhpeXl95FQcuSnZ2NoKAgpKamljqPmK3i+7NtfH+2je+vbEIIPHz4EIGBgXBy0n+nzO67HJ2cnEpN9PLw9va2y//g1Pj+bBvfn23j+yudj49PmW0cZlAIERHZNwYaERHZBQaaAeRyOaKjoyGXy61dilnw/dk2vj/bxvdnOnY/KISIiBwDr9CIiMguMNCIiMguMNCIiMguMNCIiMguMND+Z9myZQgNDYVCoUDLli3x22+/ldp+//79aNmyJRQKBWrXro3ly5dbqNLyiY2NRevWreHl5QV/f3/0798fly5dKnWfffv2QSaTlfi6ePGihao2XExMTIk6lUplqfvYymcHACEhITo/iwkTJuhsL/XP7sCBA4iMjERgYCBkMhni4+O1XhdCICYmBoGBgXB3d0fnzp1x/vz5Mo+7adMmhIWFQS6XIywsDFu2bDHTOyhdae8vPz8f06ZNQ5MmTeDp6YnAwECMGDECt2/fLvWYa9as0fmZ5uXlmfndlFTW5zdy5MgSdbZr167M45rq82OgAdiwYQOmTJmCmTNnIikpCR07dkRERAT++OMPne1TUlLQp08fdOzYEUlJSXj//fcxadIkbNq0ycKVl23//v2YMGECjh49ioSEBBQUFKBnz57Iyckpc99Lly4hLS1N81WvXj0LVFx+jRo10qrz7Nmzetva0mcHAMePH9d6bwkJCQCAV199tdT9pPrZ5eTkoGnTpliyZInO1z/55BMsXLgQS5YswfHjx6FUKtGjRw88fPhQ7zGPHDmCQYMGYfjw4Th9+jSGDx+OgQMH4vfffzfX29CrtPeXm5uLxMREzJ49G4mJidi8eTMuX76Mfv36lXlcb29vrc8zLS0NCoXCHG+hVGV9fgDQu3dvrTp37NhR6jFN+vkJEm3atBFvvvmm1rYGDRqI6dOn62z/3nvviQYNGmhte+ONN0S7du3MVqOpZGRkCABi//79etvs3btXABD379+3XGFGio6OFk2bNjW4vS1/dkIIMXnyZFGnTh1RVFSk83Vb+uwAiC1btmi+LyoqEkqlUsyfP1+zLS8vT/j4+Ijly5frPc7AgQNF7969tbb16tVLDB482OQ1l0fx96fLsWPHBABx8+ZNvW1Wr14tfHx8TFucCeh6f1FRUeLFF18s13FM+fk5/BXa48ePcfLkSfTs2VNre8+ePXH48GGd+xw5cqRE+169euHEiRPIz883W62mkJWVBQDw9fUts23z5s0REBCAbt26Ye/eveYuzWhXrlxBYGAgQkNDMXjwYFy/fl1vW1v+7B4/fox169bh9ddfL3OibVv57J6WkpKC9PR0rc9HLpejU6dOev8tAvo/09L2kYqsrCzIZDJUrly51HaPHj1CcHAwatasib59+yIpKckyBRph37598Pf3xzPPPIOxY8ciIyOj1Pam/PwcPtDu3r2LwsJCVK9eXWt79erVkZ6ernOf9PR0ne0LCgpw9+5ds9VaUUIITJ06Fc899xwaN26st11AQAC+/PJLbNq0CZs3b0b9+vXRrVs3HDhwwILVGqZt27b4+uuvsWvXLqxYsQLp6elo37497t27p7O9rX52ABAfH48HDx5g5MiRetvY0mdXnPrfW3n+Lar3K+8+UpCXl4fp06dj6NChpU7a26BBA6xZswY//vgj/vOf/0ChUKBDhw64cuWKBas1TEREBL799lv8+uuv+L//+z8cP34cXbt2hUqlfxVKU35+dj/bvqGK/8UrhCj1r2Bd7XVtl5KJEyfizJkzOHjwYKnt6tevj/r162u+Dw8PR2pqKj799FM8//zz5i6zXCIiIjT/v0mTJggPD0edOnWwdu1aTJ06Vec+tvjZAcDKlSsRERGBwMBAvW1s6bPTp7z/Fo3dx5ry8/MxePBgFBUVYdmyZaW2bdeundbAig4dOqBFixb497//jc8//9zcpZbLoEGDNP+/cePGaNWqFYKDg7F9+3a89NJLevcz1efn8FdoVatWhbOzc4m/BjIyMkr81aCmVCp1tndxcYGfn5/Zaq2It956Cz/++CP27t1r1HI67dq1k+RfhMV5enqiSZMmemu1xc8OAG7evIk9e/ZgzJgx5d7XVj479ejU8vxbVO9X3n2sKT8/HwMHDkRKSgoSEhLKvaSKk5MTWrdubROfaUBAAIKDg0ut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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1798±0.0097 95CI=(0.1662, 0.1979)\n", - " MSE: 0.0667±0.0148 95CI=(0.0490, 0.0935)\n", - " R2: 0.9645±0.0079 95CI=(0.9493, 0.9742)\n", - "RMSE: 0.2568±0.0279 95CI=(0.2213, 0.3058)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1862±0.0108 95CI=(0.1705, 0.2051)\n", - " MSE: 0.0773±0.0113 95CI=(0.0601, 0.0970)\n", - " R2: 0.9629±0.0059 95CI=(0.9526, 0.9709)\n", - "RMSE: 0.2773±0.0202 95CI=(0.2452, 0.3114)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff9d0>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff430>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 53,\n", - " 159\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1832600.0072190.0722250.0092880.9634490.0046290.2682090.016991
test0.1797820.0097110.0667380.0148050.9645200.0078670.2568270.027890
val0.1861700.0107850.0773240.0112530.9629180.0059420.2773360.020215
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.3446780.1287560.3078060.2552940.7517610.2480680.5048520.230067
test0.2467420.0704130.0879390.0469780.7268740.9792020.2859830.078438
val0.4522790.2470030.5402770.509896-53.957348538.8569450.6364270.367746
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1604100.0193570.0350800.0070790.9759310.0146640.1863490.018824
test0.1827440.0275500.0420850.0114470.9658660.0405650.2031630.028461
val0.1334220.0304960.0266640.0106670.9695370.0289140.1599500.032868
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:17:11.790579\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:17:11.796459+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "json : 2.0.9\n", - "pandas : 2.1.1\n", - "numpy : 1.26.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:17:11 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 17W / 10W | 46MiB / 16384MiB | 23% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/doctrees/nbsphinx/notebooks_getting_started_24_0.png b/docs/_build/doctrees/nbsphinx/notebooks_getting_started_24_0.png deleted file mode 100644 index 7faf4e21..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_getting_started_24_0.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_getting_started_25_0.png b/docs/_build/doctrees/nbsphinx/notebooks_getting_started_25_0.png deleted file mode 100644 index 7faf4e21..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_getting_started_25_0.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png deleted file mode 100644 index f587327a..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png deleted file mode 100644 index ea4a372d..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png deleted file mode 100644 index 45f11c60..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png deleted file mode 100644 index b2aa0693..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png deleted file mode 100644 index 584a44d6..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png deleted file mode 100644 index 36c222a4..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png deleted file mode 100644 index aa155943..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png deleted file mode 100644 index b98967a7..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png deleted file mode 100644 index 15438b6e..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png deleted file mode 100644 index 3aeb0a53..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png deleted file mode 100644 index 5ef9425d..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png deleted file mode 100644 index cb692156..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png deleted file mode 100644 index b5e046ba..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png deleted file mode 100644 index bd74aea1..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png deleted file mode 100644 index 231a5027..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png deleted file mode 100644 index d5cf04cc..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png deleted file mode 100644 index 347bd31a..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png b/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png deleted file mode 100644 index 5706c031..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png deleted file mode 100644 index 6dbf847a..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png deleted file mode 100644 index 638892e1..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png deleted file mode 100644 index 101bebb7..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png deleted file mode 100644 index 31d02de3..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png deleted file mode 100644 index 11012b88..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png deleted file mode 100644 index f4a80503..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png deleted file mode 100644 index 987f3829..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png deleted file mode 100644 index 64cc50ed..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png deleted file mode 100644 index bf4545e7..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png deleted file mode 100644 index 1311a6ea..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png deleted file mode 100644 index a1a73e76..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png deleted file mode 100644 index 712c9d7b..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png deleted file mode 100644 index 1bfdf3c2..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png deleted file mode 100644 index cb40cb6f..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png deleted file mode 100644 index c5d16ef6..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png deleted file mode 100644 index 960d5aba..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png deleted file mode 100644 index 48e1619e..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png b/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png deleted file mode 100644 index e5fc5a0f..00000000 Binary files a/docs/_build/doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/OpenEye_structural_featurizer.doctree b/docs/_build/doctrees/notebooks/OpenEye_structural_featurizer.doctree deleted file mode 100644 index bbbe307e..00000000 Binary files a/docs/_build/doctrees/notebooks/OpenEye_structural_featurizer.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/Schrodinger_structural_featurizer.doctree b/docs/_build/doctrees/notebooks/Schrodinger_structural_featurizer.doctree deleted file mode 100644 index a032f23d..00000000 Binary files a/docs/_build/doctrees/notebooks/Schrodinger_structural_featurizer.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/getting_started.doctree b/docs/_build/doctrees/notebooks/getting_started.doctree deleted file mode 100644 index 0208c62e..00000000 Binary files a/docs/_build/doctrees/notebooks/getting_started.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree b/docs/_build/doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree deleted file mode 100644 index cd7dd3e7..00000000 Binary files a/docs/_build/doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree b/docs/_build/doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree deleted file mode 100644 index 51941385..00000000 Binary files a/docs/_build/doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/kinoml_object_model.doctree b/docs/_build/doctrees/notebooks/kinoml_object_model.doctree deleted file mode 100644 index 53a179fc..00000000 Binary files a/docs/_build/doctrees/notebooks/kinoml_object_model.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree b/docs/_build/doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree deleted file mode 100644 index 9c301a32..00000000 Binary files a/docs/_build/doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree and /dev/null differ diff --git a/docs/_build/doctrees/notebooks/ligand-only-smiles-EGFR.doctree b/docs/_build/doctrees/notebooks/ligand-only-smiles-EGFR.doctree deleted file mode 100644 index e93c52fc..00000000 Binary files a/docs/_build/doctrees/notebooks/ligand-only-smiles-EGFR.doctree and /dev/null differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo deleted file mode 100644 index 1e805c6f..00000000 --- a/docs/_build/html/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e7249e1c35e56f7d2b9c6e15c937f6d1 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/.doctrees/api/kinoml/_version/index.doctree b/docs/_build/html/.doctrees/api/kinoml/_version/index.doctree deleted file mode 100644 index f49332ac..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/_version/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/analysis/index.doctree b/docs/_build/html/.doctrees/api/kinoml/analysis/index.doctree deleted file mode 100644 index 55fb84c4..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/analysis/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/analysis/metrics/index.doctree b/docs/_build/html/.doctrees/api/kinoml/analysis/metrics/index.doctree deleted file mode 100644 index 444ac8ab..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/analysis/metrics/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/analysis/plots/index.doctree b/docs/_build/html/.doctrees/api/kinoml/analysis/plots/index.doctree deleted file mode 100644 index 693edc5c..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/analysis/plots/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/components/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/components/index.doctree deleted file mode 100644 index ac5e5a69..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/components/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/conditions/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/conditions/index.doctree deleted file mode 100644 index 83770fbd..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/conditions/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/index.doctree deleted file mode 100644 index 8a6dc481..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/ligands/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/ligands/index.doctree deleted file mode 100644 index 87499733..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/ligands/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/measurements/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/measurements/index.doctree deleted file mode 100644 index 8aab0127..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/measurements/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/proteins/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/proteins/index.doctree deleted file mode 100644 index 8d74aa69..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/proteins/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/sequences/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/sequences/index.doctree deleted file mode 100644 index 31385427..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/sequences/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/core/systems/index.doctree b/docs/_build/html/.doctrees/api/kinoml/core/systems/index.doctree deleted file mode 100644 index 2dcc87a0..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/core/systems/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/databases/index.doctree b/docs/_build/html/.doctrees/api/kinoml/databases/index.doctree deleted file mode 100644 index 4147b161..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/databases/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/databases/klifs/index.doctree b/docs/_build/html/.doctrees/api/kinoml/databases/klifs/index.doctree deleted file mode 100644 index cd5b4ce2..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/databases/klifs/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/databases/pdb/index.doctree b/docs/_build/html/.doctrees/api/kinoml/databases/pdb/index.doctree deleted file mode 100644 index 2f11f26a..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/databases/pdb/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/databases/uniprot/index.doctree b/docs/_build/html/.doctrees/api/kinoml/databases/uniprot/index.doctree deleted file mode 100644 index 841eb068..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/databases/uniprot/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/chembl/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/chembl/index.doctree deleted file mode 100644 index b6ba5030..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/chembl/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/core/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/core/index.doctree deleted file mode 100644 index 4b9838a1..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/core/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/groups/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/groups/index.doctree deleted file mode 100644 index 22289601..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/groups/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/index.doctree deleted file mode 100644 index 09d154b3..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/pkis2/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/pkis2/index.doctree deleted file mode 100644 index d184e245..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/pkis2/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/torch_datasets/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/torch_datasets/index.doctree deleted file mode 100644 index 0adc7c2a..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/torch_datasets/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree b/docs/_build/html/.doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree deleted file mode 100644 index a8a7cb15..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/datasets/torch_geometric_datasets/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/docking/OEDocking/index.doctree b/docs/_build/html/.doctrees/api/kinoml/docking/OEDocking/index.doctree deleted file mode 100644 index 05420a8f..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/docking/OEDocking/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree b/docs/_build/html/.doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree deleted file mode 100644 index c061dbdd..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/docking/SCHRODINGERDocking/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/docking/index.doctree b/docs/_build/html/.doctrees/api/kinoml/docking/index.doctree deleted file mode 100644 index 12055d0b..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/docking/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/features/complexes/index.doctree b/docs/_build/html/.doctrees/api/kinoml/features/complexes/index.doctree deleted file mode 100644 index 64cc8997..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/features/complexes/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/features/core/index.doctree b/docs/_build/html/.doctrees/api/kinoml/features/core/index.doctree deleted file mode 100644 index 6632530b..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/features/core/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/features/index.doctree b/docs/_build/html/.doctrees/api/kinoml/features/index.doctree deleted file mode 100644 index a582d8a1..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/features/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/features/ligand/index.doctree b/docs/_build/html/.doctrees/api/kinoml/features/ligand/index.doctree deleted file mode 100644 index f98f9c89..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/features/ligand/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/features/protein/index.doctree b/docs/_build/html/.doctrees/api/kinoml/features/protein/index.doctree deleted file mode 100644 index 7392dbe2..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/features/protein/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/index.doctree b/docs/_build/html/.doctrees/api/kinoml/index.doctree deleted file mode 100644 index ef341859..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/index.doctree deleted file mode 100644 index e16c6476..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/lightning_modules/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/lightning_modules/index.doctree deleted file mode 100644 index b88219e7..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/lightning_modules/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/tensorflow_models/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/tensorflow_models/index.doctree deleted file mode 100644 index f4544f7f..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/tensorflow_models/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/torch_geometric_models/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/torch_geometric_models/index.doctree deleted file mode 100644 index 4b206ca2..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/torch_geometric_models/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/torch_loops/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/torch_loops/index.doctree deleted file mode 100644 index 98634012..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/torch_loops/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/torch_models/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/torch_models/index.doctree deleted file mode 100644 index d2ec5b4e..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/torch_models/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/ml/torch_trees/index.doctree b/docs/_build/html/.doctrees/api/kinoml/ml/torch_trees/index.doctree deleted file mode 100644 index b255b75f..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/ml/torch_trees/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree b/docs/_build/html/.doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree deleted file mode 100644 index 3960bcc0..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/modeling/MDAnalysisModeling/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/modeling/OEModeling/index.doctree b/docs/_build/html/.doctrees/api/kinoml/modeling/OEModeling/index.doctree deleted file mode 100644 index 2b97db83..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/modeling/OEModeling/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree b/docs/_build/html/.doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree deleted file mode 100644 index ff8144d1..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/modeling/SCHRODINGERModeling/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/modeling/alignment/index.doctree b/docs/_build/html/.doctrees/api/kinoml/modeling/alignment/index.doctree deleted file mode 100644 index 75ca600a..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/modeling/alignment/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/modeling/index.doctree b/docs/_build/html/.doctrees/api/kinoml/modeling/index.doctree deleted file mode 100644 index 074f14f2..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/modeling/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/optimize/index.doctree b/docs/_build/html/.doctrees/api/kinoml/optimize/index.doctree deleted file mode 100644 index 3cb05bb2..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/optimize/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/utils/index.doctree b/docs/_build/html/.doctrees/api/kinoml/utils/index.doctree deleted file mode 100644 index 9571cec7..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/utils/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/api/kinoml/workflows/index.doctree b/docs/_build/html/.doctrees/api/kinoml/workflows/index.doctree deleted file mode 100644 index b5a68753..00000000 Binary files a/docs/_build/html/.doctrees/api/kinoml/workflows/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/environment.pickle b/docs/_build/html/.doctrees/environment.pickle deleted file mode 100644 index ead1baf0..00000000 Binary files a/docs/_build/html/.doctrees/environment.pickle and /dev/null differ diff --git a/docs/_build/html/.doctrees/index.doctree b/docs/_build/html/.doctrees/index.doctree deleted file mode 100644 index 88fcf842..00000000 Binary files a/docs/_build/html/.doctrees/index.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb deleted file mode 100644 index ffc7270b..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/OpenEye_structural_featurizer.ipynb +++ /dev/null @@ -1,1596 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": {}, - "source": [ - "# OpenEye Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": {}, - "source": [ - "This notebook introduces structural modeling featurizers using the [OpenEye toolkits](https://docs.eyesopen.com/toolkits/python/index.html) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinSystem, ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.protein import OEProteinStructureFeaturizer\n", - "from kinoml.features.complexes import ( \n", - " OEComplexFeaturizer, \n", - " OEDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "91e7515b-a9a1-47a8-9e06-76c080669e6a", - "metadata": {}, - "source": [ - "## OEProteinStructureFeaturizer\n", - "\n", - "All OpenEye Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "50ec8fcf-495e-4c84-896a-6b65eb5c41a3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein, prepare the protein structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein and water\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein`\n", - "or a subclass thereof, must be initialized with toolkit='OpenEye' and\n", - "give access to a molecular structure, e.g. via a pdb_id. Additionally,\n", - "the protein component can have the following optional attributes to\n", - "customize the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEProteinStructureFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "b622768e-a72c-41c5-ae25-441107b8b848", - "metadata": {}, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c911d115-0f3f-465e-b887-d7a574c76f5c", - "metadata": {}, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "19e36150-0c66-4bcf-aa2f-e31e8331f4f7", - "metadata": {}, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "4863a511-87e7-4301-9b74-d9a428f4ac50", - "metadata": {}, - "outputs": [], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f15a753f-5fab-4705-907f-9e9e1dc5b2b1", - "metadata": {}, - "outputs": [], - "source": [ - "# use a protein structure form file\n", - "with resources.path(\"kinoml.data.proteins\", \"4f8o_edit.pdb\") as structure_path:\n", - " pass\n", - "protein = Protein.from_file(file_path=structure_path, name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "44c9a4c1-36b4-46cd-acd9-84bcc1593512", - "metadata": {}, - "outputs": [], - "source": [ - "with resources.path(\"kinoml.data.proteins\", \"kinoml_tests_4f8o_spruce.loop_db\") as loop_db:\n", - " pass\n", - "featurizer = OEProteinStructureFeaturizer(\n", - " loop_db=loop_db,\n", - " output_dir=user_cache_dir() + \"/protein\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "084058f9-3d8b-4c38-93c5-73fb4e72984c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46546397b38a4b87aa3e9675174939ad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEProteinStructureFeaturizer: 0%| | 0/3 [00:00)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "d4ea4adc-8ebe-4724-9413-2d7cf7867244", - "metadata": {}, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "8cb40c64-3d1c-47b1-8ff8-9b1f12113835", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8300557b-9864-4451-a56d-0d56ff6c3d36", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "f59b6a51-5aef-4798-ae43-f04bd8dc8b7a", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9a291d20-206d-4fc2-a0a3-d1c3e2b9b4b3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/protein\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": {}, - "source": [ - "## OEComplexFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "If the ligand of interest is covalently bonded to the protein, the\n", - "covalent bond will be broken. This may lead to the transformation of the\n", - "ligand into a radical.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEComplexFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEComplexFeaturizer(\n", - " output_dir=user_cache_dir() + \"/complex\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ed545e3ba934fa0b4e7f0c5930d51f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEComplexFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": {}, - "source": [ - "## OEDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "a45a20ff-9a98-4368-8a46-20e05bdcaba3", - "metadata": {}, - "source": [ - "The `OEDockingFeaturizer` supports [3 docking methods](https://docs.eyesopen.com/toolkits/python/dockingtk/index.html), i.e.:\n", - " - **Fred** - standard docking protocol\n", - " - **Hybrid** - biased by co-crystallized ligand\n", - " - **Posit** - bias depends on the similarity to the co-crystallized ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure and dock the ligand into the prepared protein structure with\n", - "one of OpenEye's docking algorithms:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - perform docking\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - " - `pocket_resids`: List of integers specifying the residues in the\n", - " binding pocket of interest. This attribute is required if docking with\n", - " Fred into an apo structure.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "method: str, default=\"Posit\"\n", - " The docking method to use [\"Fred\", \"Hybrid\", \"Posit\"].\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "pKa_norm: bool, default=True\n", - " Assign the predominant ionization state of the molecules to dock at pH\n", - " ~7.4. If False, the ionization state of the input molecules will be\n", - " conserved.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": {}, - "source": [ - "### Fred" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via co-crystallized ligand\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "366da943-7ad5-450f-910f-6a395d22e0e5", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via residue IDs\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.pocket_resids = [\n", - " 516, 517, 521, 524, 542, 544, 573, 589, 590, 591, 592, 595, 596, 654, 655, 656, 657, 667, 668\n", - "]\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib_2\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Fred\",\n", - " method=\"Fred\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f1f62040805c4ae98cbf0cc41b2babfb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEDockingFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": {}, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[-17.801493, -3.960361]" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[system.featurizations[\"last\"]._topology.docking_score for system in systems]" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": {}, - "source": [ - "### Hybrid" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Hybrid\",\n", - " method=\"Hybrid\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "67ada0eb-be71-4259-9874-6aee5eb5ba46", - "metadata": { - "tags": [] - }, - "source": [ - "### Posit" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "9387b999-9339-4629-95ad-ccd358989dc5", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "c353801e-beb7-4584-9ab3-bfce88a575bf", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "a36321ea-4171-46d2-ab13-342bd8ad00ad", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Posit\",\n", - " method=\"Posit\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9f89a73b-8237-42bd-be31-65d828cf56f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "540e3ec0-6a95-43df-8764-832c0912e648", - "metadata": {}, - "source": [ - "Beside the docking score, the Posit probability is also stored in the returned MDAnaylsis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "41ac2ac5-2e66-45d9-87ac-fa15efe4f0cc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.5" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.posit_probability" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": {}, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"mcs\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.51 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": {}, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.04 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": {}, - "source": [ - "### OpenEye's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"openeye_shape\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4min 25s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": {}, - "source": [ - "Using shape is clearly the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": {}, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and OEDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `OEDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " OEDockingFeaturizer(output_dir=user_cache_dir() + \"/docking_pipeline\", method=\"Posit\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Failed to find residue GLY-7.\n", - "Warning: Failed to find residue ALA-6.\n", - "Warning: Failed to find residue MET-5.\n", - "DPI: 0.12, RFree: 0.22, Resolution: 2.02\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: A\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Processing BU # 2 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: B\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Warning: No BioAssembly transforms found, using input molecule as biounit: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA\n", - "Warning: Iridium - Structure: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA has no REMARK data\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA, chains A\n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, OEDockingFeaturizer])': }" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "3f98d648-0e40-49ce-b1e2-4d8c7fd0d01a", - "metadata": {}, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "234cc3e5-e686-4700-befe-b6fc3d5a55b5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "77503924-02f5-4f7e-8198-5667982c1336", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "4caecb34-aa08-48a6-a126-35bb42f8e5f5", - "metadata": {}, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "e173d870-d37c-4225-b7c3-7f09188a0493", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "1e9d34de-7dd6-4330-9345-350b0625813b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "6c4624b7-93fc-4d5d-b941-2d3ff70de37f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb deleted file mode 100644 index cda17c5f..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/Schrodinger_structural_featurizer.ipynb +++ /dev/null @@ -1,2088 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": { - "papermill": { - "duration": 0.077343, - "end_time": "2022-04-22T12:38:50.757842", - "exception": false, - "start_time": "2022-04-22T12:38:50.680499", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Schrodinger Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": { - "papermill": { - "duration": 0.075231, - "end_time": "2022-04-22T12:38:50.909289", - "exception": false, - "start_time": "2022-04-22T12:38:50.834058", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "This notebook introduces structural modeling featurizers using molecular modeling capabilities from the [Schrodinger Suite](https://www.schrodinger.com/) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:38:51.053426Z", - "iopub.status.busy": "2022-04-22T12:38:51.052720Z", - "iopub.status.idle": "2022-04-22T12:39:10.718673Z", - "shell.execute_reply": "2022-04-22T12:39:10.715608Z" - }, - "papermill": { - "duration": 19.745161, - "end_time": "2022-04-22T12:39:10.725049", - "exception": false, - "start_time": "2022-04-22T12:38:50.979888", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.complexes import ( \n", - " SCHRODINGERComplexFeaturizer, \n", - " SCHRODINGERDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": { - "papermill": { - "duration": 0.092947, - "end_time": "2022-04-22T12:39:10.912999", - "exception": false, - "start_time": "2022-04-22T12:39:10.820052", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERComplexFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "684afa3d-3f34-4cbe-ad12-8a089a526940", - "metadata": { - "papermill": { - "duration": 0.095627, - "end_time": "2022-04-22T12:39:11.233127", - "exception": false, - "start_time": "2022-04-22T12:39:11.137500", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "All Schrodinger Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.412971Z", - "iopub.status.busy": "2022-04-22T12:39:11.412237Z", - "iopub.status.idle": "2022-04-22T12:39:11.421543Z", - "shell.execute_reply": "2022-04-22T12:39:11.420182Z" - }, - "papermill": { - "duration": 0.10818, - "end_time": "2022-04-22T12:39:11.432437", - "exception": false, - "start_time": "2022-04-22T12:39:11.324257", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard step.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERComplexFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "11cc845a-cc1d-4f68-a5ef-0f634352dd2e", - "metadata": { - "papermill": { - "duration": 0.088236, - "end_time": "2022-04-22T12:39:11.611911", - "exception": false, - "start_time": "2022-04-22T12:39:11.523675", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.735035Z", - "iopub.status.busy": "2022-04-22T12:39:11.734639Z", - "iopub.status.idle": "2022-04-22T12:39:11.739487Z", - "shell.execute_reply": "2022-04-22T12:39:11.738591Z" - }, - "papermill": { - "duration": 0.065894, - "end_time": "2022-04-22T12:39:11.744234", - "exception": false, - "start_time": "2022-04-22T12:39:11.678340", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.864349Z", - "iopub.status.busy": "2022-04-22T12:39:11.863991Z", - "iopub.status.idle": "2022-04-22T12:39:11.870014Z", - "shell.execute_reply": "2022-04-22T12:39:11.869269Z" - }, - "papermill": { - "duration": 0.073111, - "end_time": "2022-04-22T12:39:11.874327", - "exception": false, - "start_time": "2022-04-22T12:39:11.801216", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:12.022456Z", - "iopub.status.busy": "2022-04-22T12:39:12.021840Z", - "iopub.status.idle": "2022-04-22T12:39:18.939760Z", - "shell.execute_reply": "2022-04-22T12:39:18.938837Z" - }, - "papermill": { - "duration": 6.998201, - "end_time": "2022-04-22T12:39:18.941864", - "exception": false, - "start_time": "2022-04-22T12:39:11.943663", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - } - ], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.008197Z", - "iopub.status.busy": "2022-04-22T12:39:19.007918Z", - "iopub.status.idle": "2022-04-22T12:39:19.012884Z", - "shell.execute_reply": "2022-04-22T12:39:19.012330Z" - }, - "papermill": { - "duration": 0.040611, - "end_time": "2022-04-22T12:39:19.015376", - "exception": false, - "start_time": "2022-04-22T12:39:18.974765", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERComplexFeaturizer(output_dir=\"output/complex\")" - ] - }, - { - "cell_type": "markdown", - "id": "678a9610-0009-4b0e-b5b4-cd9fc79a2177", - "metadata": { - "papermill": { - "duration": 0.032172, - "end_time": "2022-04-22T12:39:19.079128", - "exception": false, - "start_time": "2022-04-22T12:39:19.046956", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.262711Z", - "iopub.status.busy": "2022-04-22T12:39:19.262206Z", - "iopub.status.idle": "2022-04-22T12:39:57.014777Z", - "shell.execute_reply": "2022-04-22T12:39:57.014012Z" - }, - "papermill": { - "duration": 37.855662, - "end_time": "2022-04-22T12:39:57.026026", - "exception": false, - "start_time": "2022-04-22T12:39:19.170364", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "92d67821-7c0f-4a83-be41-55e5ddd0fa46", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.092001Z", - "iopub.status.busy": "2022-04-22T12:39:57.091568Z", - "iopub.status.idle": "2022-04-22T12:39:57.099682Z", - "shell.execute_reply": "2022-04-22T12:39:57.098675Z" - }, - "papermill": { - "duration": 0.049043, - "end_time": "2022-04-22T12:39:57.106980", - "exception": false, - "start_time": "2022-04-22T12:39:57.057937", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": { - "papermill": { - "duration": 0.078278, - "end_time": "2022-04-22T12:39:57.264779", - "exception": false, - "start_time": "2022-04-22T12:39:57.186501", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB format." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.425866Z", - "iopub.status.busy": "2022-04-22T12:39:57.425440Z", - "iopub.status.idle": "2022-04-22T12:39:57.433659Z", - "shell.execute_reply": "2022-04-22T12:39:57.432682Z" - }, - "papermill": { - "duration": 0.096334, - "end_time": "2022-04-22T12:39:57.440877", - "exception": false, - "start_time": "2022-04-22T12:39:57.344543", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": { - "papermill": { - "duration": 0.074663, - "end_time": "2022-04-22T12:39:57.591975", - "exception": false, - "start_time": "2022-04-22T12:39:57.517312", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "163c82b1-1e07-447d-a1c6-bac356cbe031", - "metadata": { - "papermill": { - "duration": 0.079668, - "end_time": "2022-04-22T12:39:57.752808", - "exception": false, - "start_time": "2022-04-22T12:39:57.673140", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking can be performed with and without shape restrain to the co-crystallized ligand. Moreover, the protein structure for docking must contain a co-crystallized ligand, which is required for the pocket definition." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.914360Z", - "iopub.status.busy": "2022-04-22T12:39:57.913953Z", - "iopub.status.idle": "2022-04-22T12:39:57.920415Z", - "shell.execute_reply": "2022-04-22T12:39:57.919480Z" - }, - "papermill": { - "duration": 0.094733, - "end_time": "2022-04-22T12:39:57.927781", - "exception": false, - "start_time": "2022-04-22T12:39:57.833048", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure dock the ligand into its binding site identified by a\n", - "co-crystallized ligand. The following steps will be performed:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - docking a ligand\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name and as molecule title in the docking\n", - " pose SDF file.\n", - " - `macrocycle`: A bool specifying if the ligand shell be sampled as a\n", - " macrocycle during docking. Docking will fail, if SCHRDODINGER does not\n", - " consider the ligand a macrocycle.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard and\n", - " docking steps.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n", - "shape_restrain: bool, default=True\n", - " If the docking shell be performed with shape restrain based on the\n", - " co-crystallized ligand.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": { - "papermill": { - "duration": 0.075391, - "end_time": "2022-04-22T12:39:58.079576", - "exception": false, - "start_time": "2022-04-22T12:39:58.004185", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Without shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.243624Z", - "iopub.status.busy": "2022-04-22T12:39:58.243213Z", - "iopub.status.idle": "2022-04-22T12:39:58.248464Z", - "shell.execute_reply": "2022-04-22T12:39:58.247415Z" - }, - "papermill": { - "duration": 0.094271, - "end_time": "2022-04-22T12:39:58.254265", - "exception": false, - "start_time": "2022-04-22T12:39:58.159994", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.418615Z", - "iopub.status.busy": "2022-04-22T12:39:58.418126Z", - "iopub.status.idle": "2022-04-22T12:39:58.425444Z", - "shell.execute_reply": "2022-04-22T12:39:58.424380Z" - }, - "papermill": { - "duration": 0.095417, - "end_time": "2022-04-22T12:39:58.431095", - "exception": false, - "start_time": "2022-04-22T12:39:58.335678", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.591255Z", - "iopub.status.busy": "2022-04-22T12:39:58.590864Z", - "iopub.status.idle": "2022-04-22T12:39:58.597392Z", - "shell.execute_reply": "2022-04-22T12:39:58.596415Z" - }, - "papermill": { - "duration": 0.095846, - "end_time": "2022-04-22T12:39:58.603791", - "exception": false, - "start_time": "2022-04-22T12:39:58.507945", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_without_shape_restrain\",\n", - " shape_restrain=False\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.765771Z", - "iopub.status.busy": "2022-04-22T12:39:58.765410Z", - "iopub.status.idle": "2022-04-22T12:44:07.332372Z", - "shell.execute_reply": "2022-04-22T12:44:07.331024Z" - }, - "papermill": { - "duration": 248.653296, - "end_time": "2022-04-22T12:44:07.339348", - "exception": false, - "start_time": "2022-04-22T12:39:58.686052", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmpq7th966w.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a247\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_without_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": { - "papermill": { - "duration": 0.080771, - "end_time": "2022-04-22T12:44:07.506012", - "exception": false, - "start_time": "2022-04-22T12:44:07.425241", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:07.673680Z", - "iopub.status.busy": "2022-04-22T12:44:07.673115Z", - "iopub.status.idle": "2022-04-22T12:44:07.682537Z", - "shell.execute_reply": "2022-04-22T12:44:07.681347Z" - }, - "papermill": { - "duration": 0.103157, - "end_time": "2022-04-22T12:44:07.692056", - "exception": false, - "start_time": "2022-04-22T12:44:07.588899", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "-10.1766" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.docking_score" - ] - }, - { - "cell_type": "markdown", - "id": "c3ff444f-289c-4bdc-b342-9beaefb554eb", - "metadata": { - "papermill": { - "duration": 0.078904, - "end_time": "2022-04-22T12:44:07.856264", - "exception": false, - "start_time": "2022-04-22T12:44:07.777360", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and MAE format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f2147b48-ded0-4cc8-acc1-78f976117b8e", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.023515Z", - "iopub.status.busy": "2022-04-22T12:44:08.022996Z", - "iopub.status.idle": "2022-04-22T12:44:08.030775Z", - "shell.execute_reply": "2022-04-22T12:44:08.029621Z" - }, - "papermill": { - "duration": 0.098135, - "end_time": "2022-04-22T12:44:08.038803", - "exception": false, - "start_time": "2022-04-22T12:44:07.940668", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.pdb\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_ligand.sdf\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/docking_without_shape_restrain\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": { - "papermill": { - "duration": 0.080219, - "end_time": "2022-04-22T12:44:08.202697", - "exception": false, - "start_time": "2022-04-22T12:44:08.122478", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### With shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.371976Z", - "iopub.status.busy": "2022-04-22T12:44:08.371473Z", - "iopub.status.idle": "2022-04-22T12:44:08.377379Z", - "shell.execute_reply": "2022-04-22T12:44:08.376179Z" - }, - "papermill": { - "duration": 0.096743, - "end_time": "2022-04-22T12:44:08.384175", - "exception": false, - "start_time": "2022-04-22T12:44:08.287432", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.553799Z", - "iopub.status.busy": "2022-04-22T12:44:08.553267Z", - "iopub.status.idle": "2022-04-22T12:44:08.562016Z", - "shell.execute_reply": "2022-04-22T12:44:08.560801Z" - }, - "papermill": { - "duration": 0.099945, - "end_time": "2022-04-22T12:44:08.568313", - "exception": false, - "start_time": "2022-04-22T12:44:08.468368", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.737052Z", - "iopub.status.busy": "2022-04-22T12:44:08.736559Z", - "iopub.status.idle": "2022-04-22T12:44:08.743550Z", - "shell.execute_reply": "2022-04-22T12:44:08.742390Z" - }, - "papermill": { - "duration": 0.0975, - "end_time": "2022-04-22T12:44:08.750061", - "exception": false, - "start_time": "2022-04-22T12:44:08.652561", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_with_shape_restrain\",\n", - " shape_restrain=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.919949Z", - "iopub.status.busy": "2022-04-22T12:44:08.919453Z", - "iopub.status.idle": "2022-04-22T12:48:14.312186Z", - "shell.execute_reply": "2022-04-22T12:48:14.310828Z" - }, - "papermill": { - "duration": 245.482475, - "end_time": "2022-04-22T12:48:14.316530", - "exception": false, - "start_time": "2022-04-22T12:44:08.834055", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp195pmphc.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a33d\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_with_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "papermill": { - "duration": 0.092619, - "end_time": "2022-04-22T12:48:14.513581", - "exception": false, - "start_time": "2022-04-22T12:48:14.420962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:14.700495Z", - "iopub.status.busy": "2022-04-22T12:48:14.700013Z", - "iopub.status.idle": "2022-04-22T12:48:14.707771Z", - "shell.execute_reply": "2022-04-22T12:48:14.706234Z" - }, - "papermill": { - "duration": 0.11713, - "end_time": "2022-04-22T12:48:14.722962", - "exception": false, - "start_time": "2022-04-22T12:48:14.605832", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": { - "papermill": { - "duration": 0.091465, - "end_time": "2022-04-22T12:48:14.910458", - "exception": false, - "start_time": "2022-04-22T12:48:14.818993", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.097746Z", - "iopub.status.busy": "2022-04-22T12:48:15.096823Z", - "iopub.status.idle": "2022-04-22T12:48:15.107376Z", - "shell.execute_reply": "2022-04-22T12:48:15.105388Z" - }, - "papermill": { - "duration": 0.112501, - "end_time": "2022-04-22T12:48:15.115150", - "exception": false, - "start_time": "2022-04-22T12:48:15.002649", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.306139Z", - "iopub.status.busy": "2022-04-22T12:48:15.305554Z", - "iopub.status.idle": "2022-04-22T12:48:15.314882Z", - "shell.execute_reply": "2022-04-22T12:48:15.313611Z" - }, - "papermill": { - "duration": 0.112318, - "end_time": "2022-04-22T12:48:15.322503", - "exception": false, - "start_time": "2022-04-22T12:48:15.210185", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.509034Z", - "iopub.status.busy": "2022-04-22T12:48:15.508490Z", - "iopub.status.idle": "2022-04-22T12:48:15.515625Z", - "shell.execute_reply": "2022-04-22T12:48:15.514369Z" - }, - "papermill": { - "duration": 0.114755, - "end_time": "2022-04-22T12:48:15.527140", - "exception": false, - "start_time": "2022-04-22T12:48:15.412385", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"mcs\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.706569Z", - "iopub.status.busy": "2022-04-22T12:48:15.706036Z", - "iopub.status.idle": "2022-04-22T12:48:28.255865Z", - "shell.execute_reply": "2022-04-22T12:48:28.254307Z" - }, - "papermill": { - "duration": 12.650388, - "end_time": "2022-04-22T12:48:28.260543", - "exception": false, - "start_time": "2022-04-22T12:48:15.610155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "12.5 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": { - "papermill": { - "duration": 0.09428, - "end_time": "2022-04-22T12:48:28.450651", - "exception": false, - "start_time": "2022-04-22T12:48:28.356371", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.637022Z", - "iopub.status.busy": "2022-04-22T12:48:28.636470Z", - "iopub.status.idle": "2022-04-22T12:48:28.644342Z", - "shell.execute_reply": "2022-04-22T12:48:28.643210Z" - }, - "papermill": { - "duration": 0.111127, - "end_time": "2022-04-22T12:48:28.651027", - "exception": false, - "start_time": "2022-04-22T12:48:28.539900", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.845504Z", - "iopub.status.busy": "2022-04-22T12:48:28.845038Z", - "iopub.status.idle": "2022-04-22T12:48:35.771910Z", - "shell.execute_reply": "2022-04-22T12:48:35.770052Z" - }, - "papermill": { - "duration": 7.030486, - "end_time": "2022-04-22T12:48:35.777474", - "exception": false, - "start_time": "2022-04-22T12:48:28.746988", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "6.91 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": { - "papermill": { - "duration": 0.109259, - "end_time": "2022-04-22T12:48:35.999854", - "exception": false, - "start_time": "2022-04-22T12:48:35.890595", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.214398Z", - "iopub.status.busy": "2022-04-22T12:48:36.214006Z", - "iopub.status.idle": "2022-04-22T12:48:36.220133Z", - "shell.execute_reply": "2022-04-22T12:48:36.218938Z" - }, - "papermill": { - "duration": 0.117177, - "end_time": "2022-04-22T12:48:36.225641", - "exception": false, - "start_time": "2022-04-22T12:48:36.108464", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"schrodinger_shape\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.413598Z", - "iopub.status.busy": "2022-04-22T12:48:36.413122Z", - "iopub.status.idle": "2022-04-22T12:49:13.177974Z", - "shell.execute_reply": "2022-04-22T12:49:13.176657Z" - }, - "papermill": { - "duration": 36.934558, - "end_time": "2022-04-22T12:49:13.237887", - "exception": false, - "start_time": "2022-04-22T12:48:36.303329", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "perl: warning: Setting locale failed.\n", - "perl: warning: Please check that your locale settings:\n", - "\tLANGUAGE = (unset),\n", - "\tLC_ALL = (unset),\n", - "\tLC_NUMERIC = \"C\",\n", - "\tLC_TIME = \"C\",\n", - "\tLANG = \"C.UTF-8\"\n", - " are supported and installed on your system.\n", - "perl: warning: Falling back to the standard locale (\"C\").\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a42c\n" - ] - }, - { - "data": { - "text/plain": [ - "('4YPS', 'A', '4F6')" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "36.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": { - "papermill": { - "duration": 0.070175, - "end_time": "2022-04-22T12:49:13.378873", - "exception": false, - "start_time": "2022-04-22T12:49:13.308698", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Using shape is the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": { - "papermill": { - "duration": 0.075498, - "end_time": "2022-04-22T12:49:13.525566", - "exception": false, - "start_time": "2022-04-22T12:49:13.450068", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and SCHRODINGERDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `SCHRODINGERDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.676030Z", - "iopub.status.busy": "2022-04-22T12:49:13.675636Z", - "iopub.status.idle": "2022-04-22T12:49:13.680713Z", - "shell.execute_reply": "2022-04-22T12:49:13.679784Z" - }, - "papermill": { - "duration": 0.085693, - "end_time": "2022-04-22T12:49:13.686294", - "exception": false, - "start_time": "2022-04-22T12:49:13.600601", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.836671Z", - "iopub.status.busy": "2022-04-22T12:49:13.836303Z", - "iopub.status.idle": "2022-04-22T12:49:13.843030Z", - "shell.execute_reply": "2022-04-22T12:49:13.842117Z" - }, - "papermill": { - "duration": 0.086812, - "end_time": "2022-04-22T12:49:13.848122", - "exception": false, - "start_time": "2022-04-22T12:49:13.761310", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.994697Z", - "iopub.status.busy": "2022-04-22T12:49:13.994319Z", - "iopub.status.idle": "2022-04-22T12:49:14.000894Z", - "shell.execute_reply": "2022-04-22T12:49:13.999895Z" - }, - "papermill": { - "duration": 0.084522, - "end_time": "2022-04-22T12:49:14.005754", - "exception": false, - "start_time": "2022-04-22T12:49:13.921232", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " SCHRODINGERDockingFeaturizer(output_dir=\"output/docking_pipeline\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:14.180826Z", - "iopub.status.busy": "2022-04-22T12:49:14.180303Z", - "iopub.status.idle": "2022-04-22T12:53:25.625018Z", - "shell.execute_reply": "2022-04-22T12:53:25.623299Z" - }, - "papermill": { - "duration": 251.550071, - "end_time": "2022-04-22T12:53:25.628872", - "exception": false, - "start_time": "2022-04-22T12:49:14.078801", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp5xoq3zd9.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a474\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_pipeline/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4YNE_chainA_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:25.858694Z", - "iopub.status.busy": "2022-04-22T12:53:25.858145Z", - "iopub.status.idle": "2022-04-22T12:53:25.869178Z", - "shell.execute_reply": "2022-04-22T12:53:25.867157Z" - }, - "papermill": { - "duration": 0.141015, - "end_time": "2022-04-22T12:53:25.881014", - "exception": false, - "start_time": "2022-04-22T12:53:25.739999", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, SCHRODINGERDockingFeaturizer])': }" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "77db9232-360d-40ee-8b2f-640eaf6bdc1a", - "metadata": { - "papermill": { - "duration": 0.118895, - "end_time": "2022-04-22T12:53:26.116629", - "exception": false, - "start_time": "2022-04-22T12:53:25.997734", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "f680e950-d0e2-43ce-9bad-2da70a94bde5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.316324Z", - "iopub.status.busy": "2022-04-22T12:53:26.315796Z", - "iopub.status.idle": "2022-04-22T12:53:26.323998Z", - "shell.execute_reply": "2022-04-22T12:53:26.322084Z" - }, - "papermill": { - "duration": 0.142074, - "end_time": "2022-04-22T12:53:26.335796", - "exception": false, - "start_time": "2022-04-22T12:53:26.193722", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "e14082da-b8f1-477a-8bcd-810936e07e72", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.498935Z", - "iopub.status.busy": "2022-04-22T12:53:26.498655Z", - "iopub.status.idle": "2022-04-22T12:53:26.502381Z", - "shell.execute_reply": "2022-04-22T12:53:26.501621Z" - }, - "papermill": { - "duration": 0.051614, - "end_time": "2022-04-22T12:53:26.506129", - "exception": false, - "start_time": "2022-04-22T12:53:26.454515", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "f558ef87-b33e-4bd1-a474-b13e90e69195", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.641764Z", - "iopub.status.busy": "2022-04-22T12:53:26.641485Z", - "iopub.status.idle": "2022-04-22T12:53:26.646318Z", - "shell.execute_reply": "2022-04-22T12:53:26.645636Z" - }, - "papermill": { - "duration": 0.101318, - "end_time": "2022-04-22T12:53:26.649838", - "exception": false, - "start_time": "2022-04-22T12:53:26.548520", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "b7fcc40c-b3f3-4451-9f8d-501f27328f32", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.809639Z", - "iopub.status.busy": "2022-04-22T12:53:26.809016Z", - "iopub.status.idle": "2022-04-22T12:53:26.817480Z", - "shell.execute_reply": "2022-04-22T12:53:26.816124Z" - }, - "papermill": { - "duration": 0.133854, - "end_time": "2022-04-22T12:53:26.827113", - "exception": false, - "start_time": "2022-04-22T12:53:26.693259", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "7a7489c6-d564-4285-b5d6-b8cb510d68f3", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.923066Z", - "iopub.status.busy": "2022-04-22T12:53:26.922585Z", - "iopub.status.idle": "2022-04-22T12:57:20.443875Z", - "shell.execute_reply": "2022-04-22T12:57:20.443023Z" - }, - "papermill": { - "duration": 233.591896, - "end_time": "2022-04-22T12:57:20.470472", - "exception": false, - "start_time": "2022-04-22T12:53:26.878576", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "ed84f951-689a-4d8d-b2b9-c5eda645f624", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:57:20.676917Z", - "iopub.status.busy": "2022-04-22T12:57:20.676448Z", - "iopub.status.idle": "2022-04-22T12:57:20.726850Z", - "shell.execute_reply": "2022-04-22T12:57:20.725753Z" - }, - "papermill": { - "duration": 0.158403, - "end_time": "2022-04-22T12:57:20.730863", - "exception": false, - "start_time": "2022-04-22T12:57:20.572460", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - }, - "papermill": { - "default_parameters": {}, - "duration": 1121.080541, - "end_time": "2022-04-22T12:57:22.293896", - "environment_variables": {}, - "exception": null, - "input_path": "Schrodinger_structural_featurizer.ipynb", - "output_path": "Schrodinger_structural_featurizer_out.ipynb", - "parameters": {}, - "start_time": "2022-04-22T12:38:41.213355", - "version": "2.2.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/getting_started.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/getting_started.ipynb deleted file mode 100644 index 7c4547df..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/getting_started.ipynb +++ /dev/null @@ -1,536 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e5390669-0749-4d13-ad3c-b85d83de133d", - "metadata": {}, - "source": [ - "# Getting started with KinoML" - ] - }, - { - "cell_type": "markdown", - "id": "993294ab-4c7f-4cdd-8987-b6dfdd07ff21", - "metadata": {}, - "source": [ - "## Introduction\n", - "\n", - "KinoML is a modular and extensible framework for kinase modelling and machine learning. KinoML can be used to obtain data from online and in-house data sources and to featurize data so that it is ML-readable. KinoML also allows users to easily run ML experiments with KinoML's implemented models. \n", - "\n", - "\n", - "In this notebook you will learn how to install KinoML and how to:\n", - "1. Obtain your dataset from ChEMBL\n", - "2. Featurize this data\n", - "3. Train and test a simple Support Vector Classifier (SVC) ML model with your featurized data \n", - "\n", - "And KinoML allows you to do this with just a few lines of code!\n", - "\n", - "For more extensive examples and tutorials have a look at the other notebooks in the [KinoML documentation](https://openkinome.org/kinoml/index.html) or at the [experiments-binding-affnity](https://github.com/openkinome/experiments-binding-affinity) repository.\n", - "\n", - "The [KinoML documentation](https://openkinome.org/kinoml/api/kinoml/index.html) also allows browsing the API." - ] - }, - { - "cell_type": "markdown", - "id": "ba9243d2", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/fig_1_kinomltechpaper_v2.png) \n", - "**Fig. 1:** KinoML workflow overview. Colors represent objects that belong to the same class." - ] - }, - { - "cell_type": "markdown", - "id": "9e34e009-8830-4f87-ace3-6a0e310a49ba", - "metadata": {}, - "source": [ - "## Installation\n", - "\n", - "KinoML can be easily installed using conda/mamba. We highly encourage using mamba instead of conda to speed up the installation.\n", - "\n", - "```\n", - "mamba create -n kinoml --no-default-packages\n", - "mamba env update -n kinoml -f https://raw.githubusercontent.com/openkinome/kinoml/master/devtools/conda-envs/test_env.yaml\n", - "conda activate kinoml\n", - "pip install https://github.com/openkinome/kinoml/archive/master.tar.gz\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "f7bef85f-88d1-45a8-9665-89c1441e2c9a", - "metadata": {}, - "source": [ - "## Basic example\n", - "\n", - "KinoML has a strong focus on kinases, but can be applied to other proteins, if the appropriate code is written. However, the work on kinases is the easiest, since we provide cleaned kinase datasets for ChEMBL and PKIS2, which are hosted at the [kinodata](https://github.com/openkinome/kinodata) repository." - ] - }, - { - "cell_type": "markdown", - "id": "4e1efa1d-e330-4a54-9285-b61affce4f70", - "metadata": {}, - "source": [ - "## 1. Obtaining your data\n", - "\n", - "### DatasetProvider\n", - "\n", - "KinoML's `DatasetProvider` allows users to easily access and filter datasets. The user can specify the url of the csv file they are interested in or can use the default (as done in the example below). There are different types of `DatasetProvider` incorporated into KinoML. The one used in this notebook is `ChEMBLDatasetProvider`, which allows users to use ChEMBL datasets and filter them by specifying the measurement type (\"pIC50\", \"pKi\", \"pKd\") and kinase uniprotID.\n", - "\n", - "`DatasetProvider` outputs a lists of `measurement` values, and each of them will be associated to their corresponding `system`, which is formed by a protein and a ligand. Also, the `measurement` objects also have `Metadata` and `AssayConditions` associated to it, which contains information on how this measurement was obtained. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9234fe09-2ccc-4640-b4eb-c7a7dfa83902", - "metadata": {}, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "from kinoml.datasets.chembl import ChEMBLDatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "2bcc50be-a86b-4531-b282-33808d0f8597", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9b7bbc773b8461caa2e48726300de15", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider = ChEMBLDatasetProvider.from_source(\n", - " measurement_types=[\"pIC50\"], #selecting measurement type\n", - " uniprot_ids=[\"P00533\"], #kinase of interest\n", - " sample=1000, #number of samples you want to work with\n", - ")\n", - "chembl_provider" - ] - }, - { - "cell_type": "markdown", - "id": "eaa9ddbe-adc7-4361-87a3-52d212beceba", - "metadata": {}, - "source": [ - "Just looking at the output, we can see that there are 1000 measurements, but only 986 systems. This means there are duplicates in the `measurements`. Ideally we would delete these duplicated entries, but since this notebook just wants to show a quick example, we will leave this for the other notebooks. Let's continue and have a look at the first measurement and the stored information." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e86e578e-83cf-4485-ab58-0d32c0f6a88f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "208d081f-dcd4-4eba-81fd-5f4f2bd6ff45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([5.13076828])" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].values" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0f45a7b1-49ba-4c89-89ba-655b7f232725", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a8c2aae5-f420-4af1-bc46-44b8ebb7e70b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e22d6649-7df9-4cbd-8bbd-3506c080799a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.protein" - ] - }, - { - "cell_type": "markdown", - "id": "ff82aa40-141d-457e-aaee-c783a5b33092", - "metadata": {}, - "source": [ - "As explained above, each measurement comes with a `values` array representing the activity values for this measurement, which can be considered the typical `y` we want to predict in an ML experiment. The `system` object contains relevant information about `protein` and `ligand` for this measurement. The `system` information is typically `X` in an ML experiment, but is not yet in a machine-friendly format." - ] - }, - { - "cell_type": "markdown", - "id": "7fa6c5d4-4905-4829-9220-c4d0068d6a3f", - "metadata": {}, - "source": [ - "## 2. Featurize your data\n", - "\n", - "### Featurizer\n", - "\n", - "To get the `X` (`system` information) in a machine-friendly format, KinoML uses so called featurizers, which encode the information of each system. KinoML has different featurizers implemented. In this notebook we will use the `MorganFingerprintFeaturizer`. We are going to iterate this featurizer over all `systems` and transform the `ligand` into a bit vector. All performed featurizations are commonly stored in the `featurizations` attribute of each system. The `last` performed featurization is stored additionally for easy access." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "9ab37164-03d6-4d14-ab09-84aab5a59647", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2f2adcbc-e023-4f47-8153-5bead1d46d5a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1])}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "chembl_provider.featurize(MorganFingerprintFeaturizer())\n", - "chembl_provider.measurements[0].system.featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "59213746-f142-4180-95f1-6cc6278a857c", - "metadata": {}, - "source": [ - "For more details on the KinoML object model have a look at the respective [notebook](https://openkinome.org/kinoml/notebooks/kinoml_object_model.html)." - ] - }, - { - "cell_type": "markdown", - "id": "5b7a46bc-c0c5-4e07-ad89-9e38d79d07f6", - "metadata": {}, - "source": [ - "## 3. ML model training and testing\n", - "\n", - "### ML training and testing\n", - "\n", - "Great, we have used KinoML to first obtain the data we wanted to work with, and then to featurize this data and make it ML readable. Now that we have `X` and `y`, we can run a small ML experiment. In this case, we will train a [support vector classifier](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) from sklearn. " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "e42ca7cc-169a-4d58-80c1-5e70f49a4f4e", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from sklearn.svm import SVC\n", - "from sklearn.metrics import roc_curve, roc_auc_score\n", - "from sklearn.model_selection import train_test_split" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "f59696aa-3df2-4e96-9b6c-f41c74462ed9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0\n", - " 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0\n", - " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0\n", - " 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0\n", - " 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]\n", - "5.1307683\n" - ] - } - ], - "source": [ - "# get data from provider\n", - "X, y = chembl_provider.to_numpy()[0]\n", - "print(X[0])\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "4cd5bc35-10c3-4918-a9db-e8d185334d38", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# binarize activity values\n", - "y = (y > 7).astype(int)\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "e78e1041-38ed-4e71-aa73-804fb83e6cda", - "metadata": {}, - "outputs": [], - "source": [ - "# split data into train and test sets\n", - "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "78eb6620-7955-4a97-8cad-2fc3fe8f9724", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "SVC(probability=True)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# train the support vector classifier\n", - "svc = SVC(probability=True)\n", - "svc.fit(x_train, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "4188955c-ef1f-4795-8e62-560958bcdfa2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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GTOGChUq+DssY4yP2HqO5jQnTpxg586dXHzxxQC8/PLLtG3blttuu83PkRljfO1s90FYP0IRsnz5curVq8ett97KsWPHALjgggssORhTROWZIFQ10leBGP85cuQICQkJNGjQgDVr1pCens727dv9HZYxxs98tviviJQTkbkiclhEtolIp1zKdRWRX0UkVUR2iMiLImJdYV7y7bffUrt2bUaPHg3AU089xapVq7j88sv9HJkxxt98uTr8WOAEUAnoDIwXkVpuypUC+gMVgPpAcyDBRzEWKU8//TTNmjXjzz//pHbt2ixbtowXX3yRUqVsmQ9jjI8ShIhEAG2B51T1kKouBj4D7stZVlXHq+qPqnpCVXcCMwC7TdcLrrrqKsLCwhg6dCgrVqwgPj7e3yEZYwKIr7puagDpqrox27ZVQFMPjr0BWOtuh4j0BHoCxMb6bkqomcuS+PS3nWctt253KnFVonwQkWf27t3LkiVLuOuuuwDo3LkzjRs3zrpiyRhjsvNVF1NpICXHthQgz0FwEXkQiAdedrdfVSeoaryqxkdHRxdIoJ749LedrNudetZycVWiuKvuhT6IKG+qysyZM7nyyitp374969evB5z7HCw5GGNy46sWxCEg50/pKCAttwNEpA0wEmihqvu8F9q5iasSxexeDf0dxllt376dPn36MH/+fACaN29ui/gUAhkZGezYsYPDhw/7OxQTBCIiIrjooosICclfm8BXCWIjECoil2dbprQOuXcd3QJMBG5X1dU+irFQycjIYOLEiTz11FOkpaVRpkwZXnnlFR588EGbJqMQ2LdvHyJCzZo18/0/vSlaMjIy2LlzJ/v27aNixYr5OtYnnyxVPQx8DAwVkQgRaQzcBUzPWVZEmuEMTLdV1V98EV9hNGDAAHr37k1aWhpt2rRh3bp1dOvWzZJDIXHw4EEqVapkycGcVUhICJUqVSIlJWcvvwfHeiGe3PQFSgJ/4awx0UdV14pIrIgcEpHMUebngDLAv13bD4nIFz6Ms1Do1asX1atX54MPPuDjjz8mJibG3yGZApSenk5YmC3waDwTFhbGqVOn8n2cz25AU9UDQBs325NwBrEzX9/kq5gKk//+979MmTKFV199FRHhsssuY9OmTYSG2j2GhZW1Bo2nzvWzYu3TIHf8+HGef/556tWrx5gxY3jvvfey9llyMMacD/sGCWI///wz3bt3Z926dQD069ePNm3a+DcoY0yhYS2IIHT48GEef/xxGjVqxLp166hRowY//PADb775JpGRNr+i8a/FixfTqFEjypQpQ7ly5WjcuDHLly9n6dKlREREkJZ25tXt//jHP3jzzTcBZ8r5wYMHc/nllxMREUH16tXp1q0bW7duPa+4Bg8ejIjwyy+/nLG9S5cuZ5QXETZv3pz1esGCBdxwww1ERkYSHR1N06ZN+eyzz/Idx8yZM6lWrRoRERG0adOGAwcOuC2XlJRE6dKlT3uISNa8aarKsGHDiI2NJSoqio4dO5Kaevb7s/LDEkQQevvtt3nttdcICQnh6aefZtWqVTRp0sTfYRlDamoqd9xxB4888ggHDhxg586dJCYmEh4eTsOGDbnooouYM2fOacesWbOGdevWce+99wLQrl07PvvsM2bOnElKSgqrVq2iXr16fPPNN+ccl6oyffp0ypUrx7vvvpvv4z/66CPuuece7r//fnbs2EFycjJDhw5l3rx5+XqftWvX0qtXL6ZPn05ycjKlSpWib9++bsvGxsZy6NChrMfq1asJCQmhbdu2AEybNo3p06fz008/sWvXLo4ePcojjzyS77rlSVULxaNevXrqK+3fWqLt31ris/OpqmZkZGQ9P378uHbq1El//fVXn8ZgAse6dev8HYJby5cv1zJlyuS6f9iwYXrTTTedtu2pp57Su+++W1VVFy5cqCVKlNCkpKQCjev777/XEiVK6PTp07VcuXJ6/PjxrH2JiYnauXPnM44BdNOmTZqRkaFVq1bVF1988bzjeOaZZ/Tee+/Ner1582YNCwvT1NTUsx47ePBgvfHGG7Net23b9rSYfvrpJw0PD9fDhw+7PT63zwywQnP5XrUxiCDwySefMHjwYL7++msqVKhA8eLFmTFjhr/DMgFiyLy1rNtVsF0LOcXFRJHY2t3ky6erUaMGxYoVo2vXrnTs2JEGDRpwwQUXZO2/7777SExMJCkpidjYWDIyMpg5c2ZW99LXX3/NddddR9WqVQs0/nfffZfWrVvToUMHHnvsMT7//HP+7//+z6NjN2zYwPbt22nXrl2uZRYvXswdd9yR6/7PP/+c66+/nrVr19KoUaOs7ZdeeinFixdn48aN1KtXL884pk2bxnPPPZf1OvNLPPvr48ePs2nTJurUqeNJ1c7KupgCWHJyMu3bt+fuu+9m1apVjBs3zt8hGZOnqKgoFi9ejIjw0EMPER0dzZ133klycjIAVatWpWnTpllX233zzTccO3aM22+/HYD9+/dTpUqVAo3pyJEjfPjhh3Tq1ImwsDDatWuXr26m/fv3A+QZ1/XXX8/BgwdzfVx//fUAHDp0iDJlypx2bJkyZdyOy2T3448/kpycfFqSuvXWW5k0aRJbt24lJSWFUaNGZdW3oFgLIgCpKu+99x79+/fnwIEDREREMHLkyFz7Kk3R5skve1+68sormTp1KgC///47Xbp0oX///syaNQuArl27MmzYMAYOHMj06dOzvrgBypcvz8aNG3N76zPMmDGDXr16AdCkSRO++OLMe2rnzp1LaGho1tK5nTt3pkWLFuzdu5fo6GhCQ0M5efLkacdkvg4LC6N8+fIA7N69+7wntyxduvQZA8mpqalnvbjk3XffpW3btpQunXXLGN26dWP79u3ceOONnDp1iieffJJ58+Zx0UUXnVeMp8mt7ynYHr4Yg5jx8zZt/9YSvSrxS6+NQWzbtk1vvfVWBRTQVq1a6ZYtW7xyLhO8AnUMwp033nhDr7rqqqzXhw4d0tKlS+uiRYs0IiJCly9fnrUvcwxi+/btBXb+li1balhYmFaqVEkrVaqkFStWVEDHjBmjqqrvvvuuXnfddacds2HDBi1WrJiePHkyawzipZdeyvUcP/zwg0ZEROT6+OGHH1TVGYPo1KlT1nF//PHHWccgjhw5olFRUfrNN9/kWc8FCxbohRdeqOnp6W73n8sYhN+/2Avq4YsEkT05zPh5m1fO8f333yugZcuW1Xfeeee0wWljMgVqgli/fr2+/PLLWV/wSUlJ2qhRI+3Ro8dp5R544AGtVq2axsXFnfEerVu31vj4eF2xYoWePHlSU1NTdfz48Tp58uR8x7Njxw4NCQnRBQsW6O7du7MeAwYM0GuuuUZVVZOTk7VMmTI6bdo0PXHihO7fv1/btm2rHTp0yHqfDz/8UKOionTKlCmakpKi6enp+uOPP+pDDz2Ur3jWrFmjkZGR+sMPP+ihQ4e0c+fOp53HnRkzZmhsbOwZ3wX79+/XzZs3a0ZGhq5du1Zr1aqlb7/9dq7vYwnCy7x19dJff/112uvJkyfr7t27C/w8pvAI1ASxY8cOveeeezQmJkZLlSqlMTEx2rNnT01JSTmt3LfffquAjhw58oz3OH78uD7//PN66aWXaqlSpTQ2Nla7d++u27bl/0fZiBEjshJBdjt37tTQ0FBdvXq1qjpXADVu3FjLli2rVapU0W7duumBAwdOO+aLL77Q66+/XiMiIrRChQratGlT/fzzz/Md04wZM7Rq1apaqlQpvfPOO3X//v1Z+3r16qW9evU6rXyrVq100KBBZ7zPhg0btEaNGlqyZEmNjY3V0aNH53nec0kQ4uwPfq5fHF49R4e3lwIU2DoQp06dYvTo0QwePJj58+fTrFmzAnlfU/itX7+eK6+80t9hmCCS22dGRH5VVbfrDdsgdS7cLStakEuI/vbbb3Tv3p2VK1cCsGjRIksQxpiAYpe55sLdsqIFsYTosWPHePbZZ4mPj2flypVUq1aNBQsW8MILL5zX+xpjTEGzFkQeCnpZ0XXr1tG2bVt+//13RIRHHnmE4cOHn3bpmjHGBApLED5UuXJlDhw4wBVXXMGkSZNo3Lixv0MyxphcWYLwsu+++46GDRsSHh5OuXLlWLhwITVq1KBEiRL+Ds0YY/JkYxBecuDAAR588EFuuukmhg0blrX96quvtuRgjAkK1oLwgjlz5tCvXz+Sk5MJDw8/Y+4VY4wJBpYgCtCePXt4+OGHs+a7b9KkCRMnTqRmzZp+jswYY/KvyCcId/c7QP7vefjzzz+Jj4/n77//pnTp0owaNYrevXsTEmK9eMZ4w+DBg9m8efNp67CbglXkv73c3e8A+b/n4eKLL+a6667jlltuYe3atfTt29eSgymSqlevTsmSJSldujSVK1fmgQce4NChQ/4Oy5yDIt+CgHO73yEjI4OxY8fSqlUratasiYjw0UcfERERgYh4KVJjgsO8efNo0aIFe/bs4eabb2bEiBGnXaxhgoP9xD0H69evp0mTJjz66KP06NGDzPmsMhcVN8Y4KleuzM0338xvv/0GwMiRI7n00kuJjIwkLi6OuXPnZpWdOnUq119/PQkJCVxwwQVcfPHFp63vsGXLFpo2bUpkZCQtW7Zk3759p53rs88+o1atWpQtW5Ybb7yR9evXZ+2rXr06L730EldffTURERF0796d5ORkbr31ViIjI2nRogV///23d/8YQcgSRD6cPHmS4cOHU7duXZYsWUKVKlV48sknLSkYvxORXB8TJkzIKjdhwoQ8y2ZXr149t9vzY8eOHXzxxRdcdtllgLPE5o8//khKSgqJiYl06dKF3bt3Z5VftmwZNWvWZN++ffzzn/+ke/fuWT/AOnXqRL169di3bx/PPffcaavCbdy4kXvvvZfXXnuNvXv3ctttt9G6dWtOnDiRVWbOnDksXLiQjRs3Mm/ePG699VaGDx/Ovn37yMjI4PXXXz/nehZWliA8tHLlSq677jqeffZZTpw4Qffu3Vm3bh1t2rTxd2jGBJw2bdoQGRlJ1apVqVixIkOGDAHgnnvuISYmhpCQEDp06MDll1/OL7/8knVctWrVeOihh7LWtd69ezfJyckkJSWxfPly/vWvfxEeHs4NN9xA69ats46bPXs2t99+Oy1btiQsLIyEhASOHj3KkiVLsso88sgjVKpUiQsvvJAmTZpQv359/vGPfxAeHs7dd9/Nf/7zH9/9gYKEJQgPHDx4kKZNm/Lbb79x8cUX8/XXXzNp0iTKli3r79CMAfJe16Vnz55Z5Xr27Jln2ex+/fVXt9s98cknn5CWlsZ3333H77//ntUdNG3aNOrWrUvZsmUpW7Ysa9asOa2rqHLlylnPS5UqBTjrOO/atYsLLriAiIiIrP3VqlXLer5r167TXoeEhFC1alV27vzfFYqVKlXKel6yZMkzXttA+pksQXigbNmyJCYm0r9/f1avXk3z5s39HZIxQaFp06Y88MADJCQksG3bNh566CHefPNN9u/fz8GDB7nqqqs8SkBVqlTh77//5vDhw1nbkpKSsp7HxMSwbdu2rNeqyvbt27nwwvObfbmoswThRlpaGv369WPatGlZ2xISEnj11VdP+wVjjDm7/v37s3DhQnbu3ImIEB0dDcA777zDmjVrPHqPatWqER8fT2JiIidOnGDx4sXMmzcva3/79u2ZP38+33zzDSdPnmT06NGEh4fTqFEjr9SpqLAEkcMXX3xBrVq1GDduHE899RTHjh3zd0jGBLXo6Gjuv/9+Ro8ezZNPPknDhg2pVKkSq1evzteMxjNnzmTZsmWUK1eOIUOGcP/992ftq1mzJu+99x6PPPIIFSpUYN68ecybN4/ixYt7o0pFhs+WHBWRcsBkoBWwD3hGVWfmUvZxYABQEpgD9FHV43m9/7kuOZq5jOi4djV4/PHHmT59eub7MXnyZK6++up8v6cx3mZLjpr8OpclR33ZghgLnAAqAZ2B8SJSK2chEbkZeBpoDlQHLgGGeCsoVWX7r4uIi4tj+vTplChRgpdeeomlS5dacjDGFGk+SRAiEgG0BZ5T1UOquhj4DLjPTfGuwGRVXauqfwP/Ah7wVmyakc7azyfz119/0bRpU1avXk1CQgKhoXaTuTGmaPPVt2ANIF1VN2bbtgpo6qZsLeDTHOUqiUh5Vd2fvaCI9AR6AsTGxp5TYFdVLUfZJ4YRH5nKQw89ZPMnGWOMi68SRGkgJce2FCDSg7KZzyOB0xKEqk4AJoAzBnEugSW2rgWtz+jpMibgqardxW88cq5jzb76uXwIyDl3dhSQ5kHZzOfuyhpTJBUrVoyTJ0/6OwwTJE6ePHlO3ea+ShAbgVARuTzbtjrAWjdl17r2ZS+XnLN7yZiirGzZsiQnJ5ORkeHvUEyAy8jIIDk5+ZxWtvRJF5OqHhaRj4GhItIDqAvcBbi7i2UaMFVEZgC7gUHAVF/EaUywqFChAjt27GDDhg3+DsUEgYiICCpUqJDv43x5qU5fYArwF85YQh9VXSsiscA6IE5Vk1T1SxF5EfiW/90HkejDOI0JeCEhIed8YYYxnvJZglDVA0AbN9uTcAams297BXjFN5EZY4xxx67pNMYY45YlCGOMMW5ZgjDGGOOWzybr8zYR2QtsO2tB9yrgTCBYlFidiwarc9FwPnWupqrR7nYUmgRxPkRkRW6zGRZWVueiwepcNHirztbFZIwxxi1LEMYYY9yyBOGY4O8A/MDqXDRYnYsGr9TZxiCMMca4ZS0IY4wxblmCMMYY45YlCGOMMW4VmQQhIuVEZK6IHBaRbSLSKY+yj4vIHhFJEZEpIhLuy1gLiqd1FpGuIvKriKSKyA4ReVFEgm5R7vz8G2c7ZpGIaDDWF/L9ub5ERD4XkTQR2eeaNTno5ONzLSLygojsdP2//J2IBOXykSLysIisEJHjIjL1LGUL7PuryCQIYCxwAqgEdAbGu/uwiMjNwNNAc6A6cAkwxHdhFiiP6gyUAvrj3I1ZH6fuCT6KsSB5Wl8ARKQzvp3y3hs8/VwXBxYCi4DKwEXAez6MsyB5+u98D9ANaAKUA5YC030VZAHbBbyAs2RCrgr8+0tVC/0DiMD5QNXItm06MNJN2ZnA8GyvmwN7/F0Hb9bZzbFPAPP8XQdv1hcog7PSYQNAgVB/18GbdQZ6Aj/6O2Yf13kA8EG217WAY/6uw3nW/wVgah77C/T7q6i0IGoA6aq6Mdu2VTgfmJxqufZlL1dJRMp7MT5vyE+dc7oB98vBBrL81nc4MB7Y4+3AvCg/dW4AbBWRL1zdS9+JSG2fRFmw8lPn94HLRKSGiIQBXYEvfRCjPxXo91dRSRClgZQc21KASA/KZj53VzaQ5afOWUTkQSAeeNlLcXmLx/UVkXigMfCGD+Lypvz8G18EdAReB2KA+cCnrq6nYJKfOu8GfgQ2AEdxupwe92p0/leg319FJUEcAqJybIsC0jwom/ncXdlAlp86AyAibYCRwK2qGmyzYXpUXxEJAcYBj6nqKR/F5i35+Tc+CixW1S9U9QTOD4DywJXeDbHA5afOicC1QFWgBE5f/CIRKeXVCP2rQL+/ikqC2AiEisjl2bbVwX03ylrXvuzlklV1vxfj84b81BkRuQWYCLRW1dU+iK+geVrfKJwW0mwR2QMsd23fISJNvB9mgcrPv/F/ccZagl1+6lwHmK2qO1T1lKpOBS4A4rwfpt8U7PeXvwddfDi48z4wC2eQqzFO06uWm3K34PRLx+F8mBbhwcBuID7yUedmwH7gBn/H7O36AoJzFU/m41qcL84LgeL+roMX/41rAkeAFkAxnK6WPwp5nROBxThXO4UA9wGHgbL+rsM51DkUpxU0AmdQvgRuLqwo6O8vv1fch3/gcsAnrg9IEtDJtT0Wp1kWm63sE0AykAq8A4T7O35v1hn4Fjjl2pb5+MLf8Xvz3zjbMdUJ0quY8ltn4P+Aza7P9XfuvlSD4ZGPz3UJnEtid7vqvBK4xd/xn2OdB7s+p9kfg739/WWT9RljjHGrqIxBGGOMySdLEMYYY9yyBGGMMcYtSxDGGGPcsgRhjDHGLUsQxhhj3LIEYYKea+K5Hv6O42xEZKCITMpjf2cR+cqXMRmTF7sPwgQUEdmKc+drerbNNVR1Vx7HfAe8p6q5fvkGGhGpDmwBwjTA5oQK5NiMb1kLwgSi1qpaOtsj1+Rg8k9Eivk7BhMcLEGYgCciF7iWytwrIn+7nl+US9nLROR713KL+0RkdrZ9V4jIQhE5ICIbRKR9Huf8TkRGiMgvrvf6VETKZdt/p4isFZGDrrJXZts3wLXMZZrrPM1d2weLSOYqbj+4/ntQRA6JSEMReUBEFrvKviUip0257orhCdfzGBGZ4/qbbBGRR/Ooy1QRGS8i/xaRw8BNInK7iPxHnGVmt4vI4GyHnBGb6326ich617/BAhGplts5TeFgCcIEgxCcOWWq4cw9cxR4M5ey/wK+wpmo7CJcaz6ISATOkpszgYrAvcC4s6xRfD/OkpUxOHNVve56rxo4k8X1B6KBfwPzRKS4iNQEHgauVdVI4GZgq5v3vsH137KuVtLSHPtnAh1ERFznvABoBbzvmrJ8Hs5iMBfirBrW37XcZG46AcNw1gVYjDOP0f1AWeB2oI9rune3sbn2DcSZzykaZ52FWXmczxQCliBMIPrE9cv8oIh8oqr7VXWOqh5R1TScL7qmuRx7EieRxKjqMVVd7Np+B7BVVd9RZ+rnlcAcoF0ecUxX1TWqehh4Dmjv6p7pAMxX1YWqehJnbYWSQCOcsZNwIE5EwlR1q6r+cQ5/gx9xJmTLnIK8HbDU1d12LRCtqkNV9YSq/okzVXvHPN7vU1X9SVUzXH+X71R1tev1f3G+7HP7mwL0Akao6nrXuMRwoK61Igo3SxAmELVR1bKuRxsRKSUib4vINhFJxekCKZtLX/o/cab0/sXVBdTNtb0aUD9b4jmIs+B95Tzi2J7t+TYgDKiA06LYlrlDVTNcZS9U1c04LYvBwF8i8r6IxOT3D6DO1SPv47R0wGkBzMhWl5gcdRmIM7jvSV0Qkfoi8q2riyoF6O2qW26qAWOyne8Azt/5wvzVzAQTSxAmGDyJs55BfVWN4n9dIJKzoKruUdWHVDUG51fvOBG5DOcL8vtsiSez+6RPHuetmu15LE7rZB+wC+cL0wnC6QaqCux0xTBTVa93lVFglJv39uTywVlAO9ev9Po4LR5cddmSoy6RqnpbHu+V83wzgc+AqqpaBniL//093cW2HeiV45wlVXWJB/UwQcoShAkGkTjjDgddA8WJuRUUkXuyDWD/jfNllw58DtQQkftEJMz1uDb74LIbXUQkTpwlKocCH6lqOvABcLuINBeRMJwEdhxYIiI1RaSZiIQDx1xxp7t5771ABnBJbidX1f+4yk0CFqjqQdeuX4BU12B4SREpJiJXici1edQlp0jggKoeE5HrcFooecX2FvBM5piNiJQRkXvycT4ThCxBmGDwGk4f/z7gZ+DLPMpeCywTkUM4v5AfU9UtrrGLVjj99LtwVt0ahTNekJvpwFRX2RLAowCqugHogjMAvg9ojXNp7gnX+410bd+DMyA+MOcbq+oRnLGUn1zdNg1yiWEWzipwM7Mdm+46Z12c+xX24SSRMnnUJae+wFARSQOex0l6ucamqnNx/l7vu7r51gC35uN8JgjZjXLGuCFBePOdMQXNWhDGGGPcsgRhjDHGLetiMsYY45a1IIwxxrhlCcIYY4xbliCMMca4ZQnCGGOMW5YgjDHGuPX/8WkFHjaYsjYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# get the ROC curve including AUC\n", - "y_test_pred = svc.predict(x_test)\n", - "svc_roc_auc = roc_auc_score(y_test, y_test_pred)\n", - "fpr, tpr, thresholds = roc_curve(y_test, svc.predict_proba(x_test)[:,1])\n", - "plt.plot(fpr, tpr, label=f'SVC - AUC={round(svc_roc_auc,2)}')\n", - "plt.xlim([-0.05, 1.05])\n", - "plt.ylim([-0.05, 1.05])\n", - "plt.plot([0, 1], [0, 1], linestyle='--', label='Random', lw=2, color=\"black\") # Random curve\n", - "plt.xlabel('False positive rate', size=12)\n", - "plt.ylabel('True positive rate', size=12)\n", - "plt.tick_params(labelsize=12)\n", - "plt.legend(fontsize=12)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "66d33f5a-a680-425a-a86c-d3c0d8ae4f05", - "metadata": {}, - "source": [ - "For more advanced examples have a look at the [experiments-binding-affinity](https://github.com/openkinome/experiments-binding-affinity) repository." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb deleted file mode 100644 index 59edab18..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb +++ /dev/null @@ -1,8183 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer` and `kinoml.features.protein.AminoAcidCompositionFeaturizer` which means that we will use the ligand and protein information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ],\n", - " \"kinase\": [[\"kinoml.features.protein.AminoAcidCompositionFeaturizer\", {}]],\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:18:57.807233\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "808b3397449e46929074b8d4fa756ae3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.AminoAcidCompositionFeaturizer` with options `{}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:19:47.801843\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:19:47.813247+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:19:47 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 66C P8 22W / 80W | 49MiB / 16384MiB | 15% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:19:56.953210\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "ModelCls = import_object(MODEL_CLS)\n", - "\n", - "# Note that we assume all dataloaders will provide the\n", - "# same kind of input shape, so we onlt test on one\n", - "if ModelCls.needs_input_shape:\n", - " a_dataloader = dataloaders[next(iter(dataloaders.keys()))][\"train\"]\n", - " x_sample, _ = next(iter(a_dataloader))\n", - " MODEL_KWARGS[\"input_shape\"] = ModelCls.estimate_input_shape(x_sample)\n", - "\n", - "nn_model = ModelCls(**MODEL_KWARGS)\n", - "\n", - "optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)\n", - "loss_function = import_object(LOSS)()\n", - "\n", - "if VALIDATION:\n", - " lr_scheduler = LRScheduler(optimizer)\n", - " early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)\n", - "\n", - "train_loss_timeseries = []\n", - "val_loss_timeseries = []\n", - "\n", - "range_epochs = trange(MAX_EPOCHS, desc=\"Epochs\")\n", - "for epoch in range_epochs:\n", - " train_loss = 0.0\n", - " val_loss = 0.0\n", - " for key, loader in tqdm(dataloaders.items(), desc=\"Datasets\", leave=False):\n", - " try:\n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " loss_adapter = mtype_class.loss_adapter(backend=\"pytorch\")\n", - " \n", - " # TRAIN\n", - " nn_model.train()\n", - " for x, y in tqdm(loader[\"train\"], desc=\"Minibatches\", leave=False):\n", - " # Clear gradients\n", - " optimizer.zero_grad()\n", - " # Obtain model prediction given model input\n", - " prediction = nn_model(x)\n", - " # apply observation model\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " # Pred. must match y shape! ^^^^^^^^^^\n", - " # Obtain loss for the predicted output\n", - " train_loss += loss.item()\n", - " # Gradients w.r.t. parameters\n", - " loss.backward()\n", - " # Optimize\n", - " optimizer.step()\n", - " \n", - " \n", - " # VALIDATE\n", - " if VALIDATION:\n", - " nn_model.eval()\n", - " with torch.no_grad():\n", - " for x, y in tqdm(loader[\"val\"], desc=\"Minibatches\", leave=False):\n", - " prediction = nn_model(x).view_as(y)\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " val_loss += loss.item()\n", - " range_epochs.set_description(f\"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})\")\n", - " \n", - " # LOG LOSSES\n", - " train_loss_timeseries.append(train_loss)\n", - " \n", - " if VALIDATION:\n", - " val_loss_timeseries.append(val_loss)\n", - "\n", - " # Adjust training if needed\n", - " lr_scheduler(val_loss)\n", - " early_stopping(val_loss)\n", - " if early_stopping.early_stop:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Save model to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "torch.save(nn_model, OUT / \"nn_model.pt\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Evaluate model" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1517±0.0156 95CI=(0.1304, 0.1815)\n", - " MSE: 0.0405±0.0118 95CI=(0.0268, 0.0615)\n", - " R2: 0.9755±0.0085 95CI=(0.9592, 0.9863)\n", - "RMSE: 0.1992±0.0284 95CI=(0.1637, 0.2481)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1656±0.0273 95CI=(0.1315, 0.2145)\n", - " MSE: 0.0552±0.0213 95CI=(0.0285, 0.0928)\n", - " R2: 0.9643±0.0180 95CI=(0.9329, 0.9850)\n", - "RMSE: 0.2306±0.0444 95CI=(0.1689, 0.3046)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1420±0.0165 95CI=(0.1117, 0.1626)\n", - " MSE: 0.0278±0.0053 95CI=(0.0188, 0.0354)\n", - " R2: 0.9825±0.0058 95CI=(0.9709, 0.9899)\n", - "RMSE: 0.1661±0.0158 95CI=(0.1372, 0.1881)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1714±0.0509 95CI=(0.1068, 0.2590)\n", - " MSE: 0.1316±0.1039 95CI=(0.0179, 0.2765)\n", - " R2: 0.9044±0.0820 95CI=(0.7492, 0.9884)\n", - "RMSE: 0.3301±0.1505 95CI=(0.1338, 0.5255)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1131±0.0241 95CI=(0.0756, 0.1492)\n", - " MSE: 0.0230±0.0090 95CI=(0.0098, 0.0375)\n", - " R2: 0.9742±0.0188 95CI=(0.9458, 0.9931)\n", - "RMSE: 0.1486±0.0307 95CI=(0.0988, 0.1936)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1971±0.0956 95CI=(0.0988, 0.3567)\n", - " MSE: 0.1763±0.2036 95CI=(0.0145, 0.4992)\n", - " R2: 0.8773±0.1545 95CI=(0.5845, 0.9927)\n", - "RMSE: 0.3484±0.2344 95CI=(0.1205, 0.7065)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0986±0.0028 95CI=(0.0949, 0.1041)\n", - " MSE: 0.0232±0.0022 95CI=(0.0197, 0.0271)\n", - " R2: 0.9886±0.0011 95CI=(0.9868, 0.9905)\n", - "RMSE: 0.1521±0.0072 95CI=(0.1405, 0.1645)\n" - ] - }, - { - "data": { - "image/png": "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Q2sblvz+OH0MERE5hAp/D42IiBwDA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA43IjiQkJKBp06aa98OHD8eLL75o9TquXbsGmUyG06dPW33fRPow0IjM4Nmp511dXVG7dm28++67Rs0MXh6LFy/GypUrjWrLECJHx+ljiMwkOjoaK1asQEFBAfbv34833ngDubm5WLp0qVa7goICsw2ErFAozLIdIkfAMzQiM5HL5VAqlQgJCcGgQYMwePBgbNiwQXOZcPny5ahduzbkcjmEEMjOzsabb74Jf39/+Pj4oEuXLvjtt9+0tjl37lwEBATA29sbI0eORF5entbnxS85qlQqzJs3D3Xr1oVcLkeNGjUwZ84cANDMtNCsWTPIZDJ06tRJs96KFSvQsGFDuLu7IywsrMQcXceOHUOzZs3g7u6Oli1bSnrGZKq4eIZGZCEeHh4oKCgAAFy+fBn/+9//sHbtWjg7OwMAevfuDV9fX2zZsgUKhQJffvklunbtiosXL8LX1xf/+9//EB8fj88//xzPP/88vv32W3z66aeoXbu23n1OmzYNy5Ytw8KFC9G+fXukp6fjjz/+APA0lFq1aoUdO3agUaNGcHNzAwAsW7YM8fHxSEpKQrNmzXDq1CmMGjUKXl5eiI2NRW5uLvr06YMuXbpg9erVSE1NxcSJEy380yMygUlDGhORltjYWPHCCy9o3h89elT4+fmJgQMHivj4eOHq6ioyMzM1n+/cuVP4+PiIvLw8re3UqVNHfPnll0IIIaKiosRbb72l9Xnr1q1FkyZNdO43JydHyOVysWzZMp01qkd7P3XqlNbykJAQsWbNGq1lH330kYiKihJCCPHll18KX19fkZubq/l86dKlOrdFZEu85EhkJj///DMqVaoEd3d3REVFoUOHDvjss88AADVr1kS1atU0bU+ePImHDx/Cz88PlSpV0rxSU1Nx5coVAMD58+cRFRWltY/i7591/vx55Ofno2vXrkbXfOfOHaSlpWHkyJFadcyePVurjiZNmsDT09OoOohshZccicykc+fOWLp0KVxdXREUFKTV8cPLy0urrUqlQmBgIPbs2VNiO5UrVzZp/x4eHmVeR6VSAXh62bF169Zan6kvjQrOMEV2goFGZCZeXl6oW7euUW2bN2+OjIwMuLi4oFatWjrbNGzYEEeOHMGwYcM0y44cOaJ3m/Xq1YOHhwd27tyJN954o8Tn6ntmRUVFmmUBAQEIDg7G1atXMXjwYJ3bDQ8Px7fffovHjx9rQtNQHUS2wkuORDbQrVs3REVF4cUXX8Svv/6Ka9eu4dChQ5g+fTpOnDgBAJg4cSKWL1+O5cuX4+LFi4iPj8e5c+f0btPd3R1TpkzBe++9h3//+9+4cuUKjhw5gm+++QYA4O/vDw8PD2zduhV//vknsrOzATx9WDsxMRGLFy/GxYsXcebMGaxYsQILFiwAAAwaNAhOTk4YOXIkUlJSsGXLFnzyyScW/gkRlR0DjcgGZDIZtmzZgg4dOuD1119H/fr18eqrr+LatWsICAgAALzyyiuYOXMmpkyZghYtWuD69esYM2aMwe3OmDEDkydPxsyZM9GwYUO88soryMzMBAC4uLjg008/xZdffomgoCC88MILAIA33ngDX3/9NVauXInIyEh07NgRK1eu1HTzr1SpEjZt2oSUlBQ0a9YMH3zwAebNm2fBnw6RaWSCF8iJiMgB8AyNiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcwv8DrR4MUvP4LasAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0958±0.0037 95CI=(0.0894, 0.1012)\n", - " MSE: 0.0209±0.0031 95CI=(0.0168, 0.0264)\n", - " R2: 0.9897±0.0015 95CI=(0.9866, 0.9917)\n", - "RMSE: 0.1443±0.0103 95CI=(0.1297, 0.1625)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1014±0.0042 95CI=(0.0942, 0.1081)\n", - " MSE: 0.0250±0.0030 95CI=(0.0210, 0.0307)\n", - " R2: 0.9876±0.0015 95CI=(0.9852, 0.9898)\n", - "RMSE: 0.1579±0.0093 95CI=(0.1450, 0.1752)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.AminoAcidCompositionFeaturizer\",\n", - " {}\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8edabf6700>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8f1c8dfdc0>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ..., 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 1024,\n", - " 20\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1713540.0508820.1316020.1038630.9044250.0820380.3301010.150450
test0.1131240.0241330.0230220.0090330.9742140.0188320.1485860.030724
val0.1971480.0956390.1763050.2036290.8773300.1544570.3483690.234402
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.0986230.0027750.0231800.0021910.9885600.0011480.1520800.007163
test0.0957730.0037270.0209170.0030520.9896840.0015410.1442600.010307
val0.1014490.0042100.0250050.0029570.9876120.0015110.1578570.009277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1517230.0155510.0404710.0118480.9755260.0084650.1991620.028375
test0.1656390.0273110.0551620.0213140.9643200.0179500.2306250.044431
val0.1420100.0164600.0278290.0052510.9824790.0057890.1660690.015818
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:22:14.451640\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:22:14.457489+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "torch : 2.1.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:22:14 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 67C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb deleted file mode 100644 index daafb939..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb +++ /dev/null @@ -1,13737 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer` to featurize the ligand and `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` to featurize the kinase. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. Step 1 of this notebook provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ],\n", - " \"kinase\": [\n", - " [\"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:06:10.080592\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "adadc5d0bc3e4e14bbadcd1f6526f9cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#make sure you have your open eye license in the same directory as your notebook!\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\") #your measurement groups!" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:07:39.583477\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:07:39.592225+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:07:39 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 19% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:08:03.674800\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4125cc94fb814463903146077884beb8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2532±0.0440 95CI=(0.1840, 0.3351)\n", - " MSE: 0.1022±0.0268 95CI=(0.0617, 0.1525)\n", - " R2: 0.9303±0.0414 95CI=(0.8451, 0.9739)\n", - "RMSE: 0.3168±0.0428 95CI=(0.2484, 0.3905)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2502±0.0478 95CI=(0.1741, 0.3270)\n", - " MSE: 0.0899±0.0248 95CI=(0.0481, 0.1287)\n", - " R2: 0.9256±0.0927 95CI=(0.7208, 0.9744)\n", - "RMSE: 0.2965±0.0442 95CI=(0.2193, 0.3587)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2407±0.0668 95CI=(0.1341, 0.3498)\n", - " MSE: 0.1029±0.0430 95CI=(0.0386, 0.1756)\n", - " R2: 0.8805±0.1336 95CI=(0.6998, 0.9789)\n", - "RMSE: 0.3131±0.0702 95CI=(0.1965, 0.4191)\n" - ] - }, - { - "data": { - "image/png": "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lPd/++034enpKUaOHCni4uKEo6OjyMvLUz6+b98+4e7uLoqLi1XWExwcLFatWiWEECI8PFy88sorKo936tRJtGnTRu3zFhQUCKlUKlavXq12jIqzvaenp6tM9/f3Fxs3blSZ9t5774nw8HAhhBCrVq0SHh4eorCwUPn4ihUr1K6LyJS4y5FIT3744QfUrVsXzs7OCA8PR/fu3fHpp58CAAIDA9GgQQPlvCdOnMCDBw/g6emJunXrKm+ZmZm4cuUKAODcuXMIDw9XeY6K9x937tw5yOVy9OnTR+sx//XXX8jOzsbkyZNVxvH++++rjKNNmzaoU6eOVuMgMhXuciTSk169emHFihVwdHSEn5+fyoEfrq6uKvOWl5fD19cXycnJldZTr149nZ7fxcWlxsuUl5cDeLTbsVOnTiqPKXaNCl5hiiwEg0akJ66urmjatKlW87Zr1w65ublwcHBA48aN1c7TokULHD16FBMnTlROO3r0qMZ1NmvWDC4uLti3bx9eeumlSo8rPjMrKytTTvP29kbDhg1x9epVjBs3Tu16W7Zsia+++gp///23MppVjYPIVLjLkcgE+vbti/DwcAwfPhw///wzsrKycPjwYbz11ltITU0FAMyYMQNr167F2rVrcfHiRcTFxeHs2bMa1+ns7IxZs2bhzTffxJdffokrV67g6NGjWLNmDQDAy8sLLi4u2L17N/7880/k5+cDePRl7fj4eHz88ce4ePEiTp8+jXXr1uGDDz4AAIwdOxZ2dnaYPHkyMjIysGvXLixdutTA/0JENcegEZmARCLBrl270L17d7z44ot48sknMXr0aGRlZcHb2xsAMGrUKLzzzjuYNWsW2rdvj2vXruHVV1+tcr1vv/023njjDbzzzjto0aIFRo0ahby8PACAg4MDPvnkE6xatQp+fn4YNmwYAOCll17CF198gYSEBLRu3Ro9evRAQkKC8jD/unXrYufOncjIyEBYWBjmzp2LxYsXG/Bfh0g3EsEd5EREZAW4hUZERFaBQSMiIqvAoBERkVVg0IiIyCowaEREZBUYNCIisgoMGhERWQUGjYiIrAKDRkREVoFBIyIiq8CgERGRVWDQiIjIKvw/TB+JfsCVWIYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2184±0.0412 95CI=(0.1494, 0.2931)\n", - " MSE: 0.0677±0.0226 95CI=(0.0337, 0.1112)\n", - " R2: 0.9445±0.0340 95CI=(0.8591, 0.9810)\n", - "RMSE: 0.2566±0.0429 95CI=(0.1835, 0.3335)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/t0lEQVR4nO3deXhMZ/8/8Pdkm4lIhiAbERFL7MQa1C4SW3WjtAThaYuq0qeoakIfDa0vraq1iFb7Q4ugtqJCbUWFqlgjSCtprEkkMrLcvz88mcfITDKZzHrm/bquua7OPfc58zlOk3fOOfc5t0wIIUBERGTjHCxdABERkTEw0IiISBIYaEREJAkMNCIikgQGGhERSQIDjYiIJIGBRkREksBAIyIiSWCgERGRJDDQyKyys7Px/vvvIywsDDVq1IBMJkNMTIzO/vn5+ViwYAGaNWsGV1dXVKlSBR07dsTRo0eNVlNCQgJkMhl+/PFHjfbc3FxERETA2dkZ33zzTanriImJgUwm02irU6cOZDIZunXrpnWZb775BjKZDDKZDAkJCRXZBKqg3NxcxMTEcD/YOAYamdXdu3exYsUKqFQqDBo0qNS+hYWFeOGFFzB79mwMHToUu3btwnfffYfw8HDk5OSYtM7MzEyEhYXhwIED+PHHHzFixAiD1uPu7o5Dhw4hOTm5xGerV6+Gh4dHRUslI8jNzcWsWbMYaDbOydIFkH0JCAjA/fv3IZPJcOfOHXz99dc6+3755ZfYtWsXjhw5gg4dOqjb+/XrZ9IaMzIy0KdPHyQnJ2PXrl3o3r27wevq3Lkzzp07h9WrV2POnDnq9uTkZBw6dAhjxozBypUrjVG2RT169Aiurq6WLoPsHI/QyKyKT7Hp44svvkCXLl00wqy83zVhwgQsX74cDRo0gFwuR+PGjbF+/Xqdy9y4cQOdO3fGX3/9hV9++UVrmO3YsQMtW7aEXC5HYGAg5s+fr3N9Dg4OGDFiBNauXYuioiJ1++rVq+Hv749evXppXe7UqVMYOHAgPD09oVAo0KpVK2zcuFGjz+3btzFu3Dg0btwYlStXhpeXF3r06IFff/21xPqWLl2KFi1aoHLlynB3d0dwcDA++OAD9efaTpkCQFxcHGQyGa5fv65uq1OnDvr374/NmzejVatWUCgUmDVrFgAgPT0db7zxBmrVqgUXFxcEBgZi1qxZKCgoUC9//fp1yGQyfPbZZ5g3bx7q1KkDV1dXdOvWDZcvX0Z+fj6mTZsGPz8/KJVKvPDCC8jIyChR24YNGxAaGgo3NzdUrlwZffr0QWJiokafkSNHonLlyrh69Sr69u2LypUrw9/fH1OmTIFKpVLXU6NGDQDArFmz1P+Pjhw5Uuu+IevFQCOrlJqaiuvXr6NZs2b44IMP4O3tDScnJzRp0gRr167Vez3btm3DokWLMHv2bPz4448ICAjA0KFDS1wvA4ALFy6gc+fOePToEQ4dOoQ2bdqU6LN//348//zzcHd3x/r16/HZZ59h48aNWLNmjc4aRo8ejVu3bmHPnj0AnpxKXbt2LUaOHAkHh5I/ggcOHECnTp3w4MEDLFu2DFu3bkXLli0xZMgQxMXFqfvdu3cPABAdHY0dO3ZgzZo1qFu3Lrp166Zx6mz9+vUYN24cunbtii1btiA+Ph7vvvtuhU7bnj59Gv/+978xceJE7N69Gy+99BLS09PRrl077NmzBx999BF27dqFqKgoxMbGYuzYsSXW8dVXX+HIkSP46quv8PXXX+PixYsYMGAAoqKicPv2baxevRqffvop9u3bhzFjxmgs+8knn2Do0KFo3LgxNm7ciG+//RbZ2dl47rnnkJSUpNE3Pz8fAwcORM+ePbF161aMHj0aCxcuxLx58wAAvr6+2L17NwAgKioKx44dw7FjxzBz5kyD/33IQgSRhdy+fVsAENHR0SU+O3bsmAAgPDw8ROPGjcXGjRvFnj17xMsvvywAiBUrVpS5fgDC1dVVpKenq9sKCgpEcHCwqFevnrrtwIEDAoAAIBwdHUVSUpLOdbZv3174+fmJR48eqduysrKEp6enePbHKSAgQPTr108IIUTXrl3Fyy+/LIQQYseOHUImk4mUlBTxww8/CADiwIED6uWCg4NFq1atRH5+vsb6+vfvL3x9fUVhYaHW2goKCkR+fr7o2bOneOGFF9TtEyZMEFWqVNG5TUIIER0dXaJ+IYRYs2aNACBSUlI0tsvR0VFcunRJo+8bb7whKleuLG7cuKHRPn/+fAFAnD9/XgghREpKigAgWrRoobEtn3/+uQAgBg4cqLH8pEmTBACRmZkphBDi5s2bwsnJSbz99tsa/bKzs4WPj48YPHiwui0yMlIAEBs3btTo27dvX9GwYUP1+9L+XyTbwSM0skrFp+fy8vKwc+dOvPLKKwgLC8PGjRsREhKC2bNn67Wenj17wtvbW/3e0dERQ4YMwdWrV/HXX39p9O3fvz+Kioowfvx45ObmllhXTk4OTp48iRdffBEKhULd7u7ujgEDBpRax+jRo7Ft2zbcvXsXq1atQvfu3VGnTp0S/a5evYqLFy/itddeAwAUFBSoX3379kVaWhouXbqk7r9s2TKEhIRAoVDAyckJzs7O2L9/Py5cuKDu065dOzx48ABDhw7F1q1bcefOndL/0fTQvHlzNGjQQKPtp59+Qvfu3eHn56dRd0REBADg4MGDGv379u2rcYTaqFEjACWvkRa337x5EwCwZ88eFBQUYMSIERrfo1Ao0LVr1xIDO2QyWYn907x5c9y4ccPArSdrxUAjq1StWjUAQHBwMAICAtTtMpkMffr0wV9//aX1usqzfHx8dLbdvXtXoz0yMhIrV65EQkIC+vXrV+KU3P3791FUVFTqOnV5+eWXoVAosHDhQmzfvh1RUVFa+/3zzz8AgPfeew/Ozs4ar3HjxgGAOpAWLFiAt956C+3bt8emTZtw/PhxnDx5EuHh4Xj06JF6ncOHD8fq1atx48YNvPTSS/Dy8kL79u2xd+/eUmsuja+vr9bat2/fXqLuJk2aaNRdzNPTU+O9i4tLqe15eXnq7wGAtm3blviuDRs2lPieSpUqafwBAgByuVy9PpIOjnIkqxQUFIRKlSpp/Uz8d5J1bdefnpWenq6zrTg0nxYVFQUHBweMGTMGffv2xc6dO+Hm5gYAqFq1KmQyWanr1KVSpUp49dVXERsbCw8PD7z44ota+1WvXh0AMH36dJ19GjZsCABYt24dunXrhqVLl2p8np2dXWKZUaNGYdSoUcjJycGhQ4cQHR2N/v374/LlywgICFD/wlepVJDL5erldB3NaRtAUr16dTRv3lxjNOfT/Pz8tLaXV/G/UfE1UaJiDDSySk5OTnj++efx448/4vr16+rTc0II7N69G0FBQepfbKXZv38//vnnH/Vpx8LCQmzYsAFBQUGoVauW1mVGjRoFmUyGqKgoREREYOfOnahcuTLc3NzQrl07bN68GZ999pk6BLKzs7F9+/Yya3nrrbfwzz//oGvXriWOGIo1bNgQ9evXx9mzZ/HJJ5+Uuj6ZTKYRPgDwxx9/4NixY/D399e6jJubGyIiIvD48WMMGjQI58+fR0BAgPrf948//kDbtm3V/fXZrmL9+/fHzp07ERQUhKpVq+q9XHn16dMHTk5OSE5OxksvvWSUdRb/Oz59ZEu2h4FGZrdr1y7k5OSojySSkpLUow779u2rPjL7+OOPsWvXLoSHhyMmJgYeHh74+uuvcfbs2RJD2HWpXr06evTogZkzZ8LNzQ1LlizBxYsXSx26D0A9AnHUqFGIiIjArl27ULlyZXz88ccIDw9H7969MWXKFBQWFmLevHlwc3NTjzrUpWXLloiPjy+z5uXLlyMiIgJ9+vTByJEjUbNmTdy7dw8XLlzA6dOn8cMPPwB4EiAff/wxoqOj0bVrV1y6dAmzZ89GYGCgxjD5sWPHwtXVFZ06dYKvry/S09MRGxsLpVKpDq++ffvC09MTUVFRmD17NpycnBAXF4fU1NQy6y02e/Zs7N27Fx07dsTEiRPRsGFD5OXl4fr169i5cyeWLVum84+I8qhTpw5mz56NGTNm4Nq1awgPD0fVqlXxzz//4MSJE3Bzc1PfRqAvd3d3BAQEYOvWrejZsyc8PT1RvXp1rdc5yYpZelQK2Z+AgAD1qMJnX0+PphNCiHPnzol+/foJd3d3oVAoRIcOHcT27dv1+h4AYvz48WLJkiUiKChIODs7i+DgYPHdd99p9Cse5fjDDz+UWMe3334rHB0dRceOHUVWVpYQQoht27aJ5s2bCxcXF1G7dm0xd+5craMEnx7lqIu2UY5CCHH27FkxePBg4eXlJZydnYWPj4/o0aOHWLZsmbqPSqUS7733nqhZs6ZQKBQiJCRExMfHi8jISBEQEKDut3btWtG9e3fh7e0tXFxchJ+fnxg8eLD4448/NL7zxIkTomPHjsLNzU3UrFlTREdHi6+//lrrKEdd23X79m0xceJEERgYKJydnYWnp6do3bq1mDFjhnj48KEQ4n+jHD/77DONZXXth+KRlidPntRoj4+PF927dxceHh5CLpeLgIAA8fLLL4t9+/ap+0RGRgo3N7cSdWrbX/v27ROtWrUScrlcABCRkZFat5Gsl0yI/16QIJIYmUyG8ePHY/HixZYuhYjMgKMciYhIEhhoREQkCRwUQpLFs+lE9oVHaEREJAkMNCIikgQGGhERSYLkr6EVFRXh1q1bcHd313seLiIish5CCGRnZ8PPz6/UR95JPtBu3bql8zFARERkO1JTU0t92ozkA83d3R3Ak38IDw8PC1dDRET6OJZ8F+O/P43HBUUI9XfFxikD1L/PdZF8oBWfZvTw8GCgERHZgMNX7mDiposocFSgdxMvzB1YDxunaJ/l4WkcFEJERFbj8JU7iFp7EqqCIvQM9sKS10Mgd3LUa1kGGhERWYWnw6xHOcMMYKAREZEVePbIbGk5wwxgoBERkYVV5DTj0xhoRERkMUeuGifMAAYaERFZyJGrdzA6zjhhBjDQiIjIAowdZgADjYiIzMwUYQYw0IiIyIxMFWYAA42IiMzElGEGMNCIiMgMTB1mAAONiIhM7PAV04cZwEAjIiITMtZN0/pgoBERkUmYM8wABhoREZmAucMMYKAREZGRWSLMAAYaEREZUUWngKkIBhoRERmFMaaAqQgGGhERVZilTjM+jYFGREQVYswpYCqCgUZERAYzxxNA9MVAIyIig1hTmAEMNCIiMoC1hRnAQCMionKyxjADGGhERFQO1hpmAAONiIj0ZM1hBjDQiIhID9YeZgADjYiIymALYQYw0IiIqBS2EmYAA42IiHSwpTADGGhERKSFrYUZwEAjIqJn2GKYARYOtEOHDmHAgAHw8/ODTCZDfHy8zr5vvPEGZDIZPv/8c7PVR0Rkb2w1zAALB1pOTg5atGiBxYsXl9ovPj4ev/32G/z8/MxUGRGR/bHlMAMAJ0t+eUREBCIiIkrt8/fff2PChAnYs2cP+vXrZ6bKiIjsi62HGWDhQCtLUVERhg8fjn//+99o0qSJXsuoVCqoVCr1+6ysLFOVR0QkCVIIM8DKB4XMmzcPTk5OmDhxot7LxMbGQqlUql/+/v4mrJCIyLZJJcwAKw6033//HV988QXi4uIgk8n0Xm769OnIzMxUv1JTU01YJRGR7ZJSmAFWHGi//vorMjIyULt2bTg5OcHJyQk3btzAlClTUKdOHZ3LyeVyeHh4aLyIiEiT1MIMsOJraMOHD0evXr002vr06YPhw4dj1KhRFqqKiMj2STHMAAsH2sOHD3H16lX1+5SUFJw5cwaenp6oXbs2qlWrptHf2dkZPj4+aNiwoblLJSKSBKmGGWDhQDt16hS6d++ufj958mQAQGRkJOLi4ixUFRGRNEk5zAALB1q3bt0ghNC7//Xr101XDBGRhEk9zAArHhRCRETGYQ9hBjDQiIgkzV7CDGCgERFJlj2FGcBAIyKSJHsLM4CBRkQkOfYYZgADjYhIUuw1zAAGGhGRZNhzmAEMNCIiSbD3MAMYaERENo9h9gQDjYjIhh2+wjArxkAjIrJRh6/cQdRahlkxBhoRkQ1imJXEQCMisjEMM+0YaERENoRhphsDjYjIRjwdZj0YZiUw0IiIbMCzR2ZLGWYlMNCIiKwcTzPqh4FGRGTFjlxlmOmLgUZEZKX4BJDyYaAREVkhhln5MdCIiKwMw8wwDDQiIivCMDMcA42IyEowzCqGgUZEZAUYZhXHQCMisjBOAWMcDDQiIgviTdPGw0AjIrIQhplxMdCIiCyAYWZ8DDQiIjNjmJkGA42IyIw4BYzpMNCIiMyEU8CYFgONiMgMeJrR9BhoREQmxilgzIOBRkRkQnwCiPlYNNAOHTqEAQMGwM/PDzKZDPHx8erP8vPzMXXqVDRr1gxubm7w8/PDiBEjcOvWLcsVTERUDgwz87JooOXk5KBFixZYvHhxic9yc3Nx+vRpzJw5E6dPn8bmzZtx+fJlDBw40AKVEhGVD8PM/GRCCGHpIgBAJpNhy5YtGDRokM4+J0+eRLt27XDjxg3Url1br/VmZWVBqVQiMzMTHh4eRqqWiEg3hplx6ft73MmMNVVYZmYmZDIZqlSporOPSqWCSqVSv8/KyjJDZURETzDMLMdmBoXk5eVh2rRpGDZsWKkJHRsbC6VSqX75+/ubsUoismcMM8uyiUDLz8/Hq6++iqKiIixZsqTUvtOnT0dmZqb6lZqaaqYqicieMcwsz+pPOebn52Pw4MFISUnBL7/8UuZ1MLlcDrlcbqbqiIgYZtbCqgOtOMyuXLmCAwcOoFq1apYuiYhIA8PMelg00B4+fIirV6+q36ekpODMmTPw9PSEn58fXn75ZZw+fRo//fQTCgsLkZ6eDgDw9PSEi4uLpcomIgLAMLM2Fh22n5CQgO7du5doj4yMRExMDAIDA7Uud+DAAXTr1k2v7+CwfSIyBYaZ+djEsP1u3bqhtDy1klvkiIg0MMysk02MciQishYMM+vFQCMi0hPDzLox0IiI9MAws34MNCKiMjDMbAMDjYioFAwz28FAIyLSgWFmWxhoRERaMMxsDwONiOgZDDPbxEAjInoKw8x2MdCIiP6LYWbbGGhERGCYSQEDjYjsHsNMGhhoRGTXGGbSwUAjIrvFMJMWBhoR2SWGmfQw0IjI7jDMpImBRkR2hWEmXQw0IrIbDDNpY6ARkV1gmEkfA42IJI9hZh8YaEQkaYevMMzsBQONiCTr8JU7iFrLMLMXDDQikiSGmf1hoBGR5DDM7BMDjYgkhWFmvxhoRCQZT4dZD4aZ3WGgEZEkPHtktpRhZncYaERk83iakQAGGhHZuCNXGWb0BAONiGwWnwBCT2OgEZFNYpjRsxhoRGRzGGakDQONiGwKw4x0YaARkc1gmFFpLBpohw4dwoABA+Dn5weZTIb4+HiNz4UQiImJgZ+fH1xdXdGtWzecP3/eMsUSkUUxzKgsFg20nJwctGjRAosXL9b6+aeffooFCxZg8eLFOHnyJHx8fNC7d29kZ2ebuVIisiROAUP6cLLkl0dERCAiIkLrZ0IIfP7555gxYwZefPFFAMDatWvh7e2N77//Hm+88YY5SyUiC+FN06Qvq72GlpKSgvT0dISFhanb5HI5unbtiqNHj+pcTqVSISsrS+NFRLaJYUblYbWBlp6eDgDw9vbWaPf29lZ/pk1sbCyUSqX65e/vb9I6icg0GGZUXlYbaMVkMpnGeyFEibanTZ8+HZmZmepXamqqqUskIiNjmJEhLHoNrTQ+Pj4Anhyp+fr6qtszMjJKHLU9TS6XQy6Xm7w+IjINTgFDhrLaI7TAwED4+Phg79696rbHjx/j4MGD6NixowUrIyJT4RQwVBEWPUJ7+PAhrl69qn6fkpKCM2fOwNPTE7Vr18akSZPwySefoH79+qhfvz4++eQTVKpUCcOGDbNg1URkCjzNSBVl0UA7deoUunfvrn4/efJkAEBkZCTi4uLw/vvv49GjRxg3bhzu37+P9u3b4+eff4a7u7ulSiYiE+AUMGQMMiGEsHQRppSVlQWlUonMzEx4eHhYuhwiegafAEJl0ff3uNVeQyMi6WOYkTEx0IjIIhhmZGwMNCIyO4YZmQIDjYjMimFGpsJAIyKzYZiRKTHQiMgsGGZkagw0IjI5hhmZAwONiEyKYUbmYrUPJyYi61ZYJHAi5R4ysvPg5a5Au0BPODpozoTBMCNzYqARUbnt/jMNs7YnIS0zT93mrnDCSyE10aeJL9oFeuL4tbsMMzIrPvqKiLTSdQS2+880vLXuNEr7xeHp5ozsvALkFwqGGVWYvr/HeYRGRBoKiwQW/3IVa46k4MGjfHW7r1KBmf0a4eMdF0oNMwC4l/NkuWY1PRhmZDYMNCJS2/1nGqZtPocHufklPkvPzMO47xPLtb7b2So4OXDsGZkH/08jIgBPwuzNdae1hhmAMo/KtEnPUuFEyr2KFUakJwYaEaGwSGDW9iSTrDsjO6/sTkRGwEAjIpxIuacxYtGYvNwVJlkv0bMYaERksqMoX+WT0ZFE5sBAI6JyHUX5KhUY+1xgmf1kAKIHNC5xszWRqTDQiAjtAj3hq1RAn+iJaOoDL3cFnB119/ZVKrD09RCEN/U1XpFEZdB72P6iRYv0XunEiRMNKoaILMPRQYboAY3x1rrTZfZdfeS6+r+b+nng/fBg3M15jHsPVfB0c4GP0lXrY7CITE3vJ4UEBmqeYrh9+zZyc3NRpUoVAMCDBw9QqVIleHl54dq1a0Yv1FB8UgiR/mJ3JmH5oZRyLbOMR2JkYvr+Htf7lGNKSor6NWfOHLRs2RIXLlzAvXv3cO/ePVy4cAEhISH4+OOPjbIBRGRehUUC286mlWsZGYBZ25NQWCTpJ+iRjTDoGtrMmTPx5ZdfomHDhuq2hg0bYuHChfjwww+NVhwRmY8hQ/cFgLTMPN48TVbBoEBLS0tDfn7JpwkUFhbin3/+qXBRRGR+6VmGD93nzdNkDQwKtJ49e2Ls2LE4deoUii/BnTp1Cm+88QZ69epl1AKJyDzuPVQZvCxvniZrYFCgrV69GjVr1kS7du2gUCggl8vRvn17+Pr64uuvvzZ2jURkBp5uLuVeRgbePE3Ww6Cn7deoUQM7d+7E5cuXcfHiRQgh0KhRIzRo0MDY9RGRkema58xH6Vqu9RQPyufN02QtKjR9TJ06dSCEQFBQEJycOBMNkbXTNtO0r1KB6AGN0buxD3yVCr0Hhvj8dzkO2SdrYdCM1bm5uXj77bexdu1aAMDly5dRt25dTJw4EX5+fpg2bZrRCzUU70MjekLXTNPFx1ZLXw/BxbQsfL7/qtblZQAm9WqAOtUraRzZEZma0e9De9r06dNx9uxZJCQkQKH438XgXr16YcOGDYaskohMqHh6GG1/vRa3fbDlHJYefPJQBLmT5q+G4kdZvdOrPp5vWROhQdUYZmR1DDpPGB8fjw0bNqBDhw6Qyf73P3Xjxo2RnJxstOKIyDjKusdMALiX8+RWnJ7BXvhyWCucTc0scZ2NyJoZFGi3b9+Gl5dXifacnByNgCMi66DvfWJN/Dyw5PUQyJ0cERpUzcRVERmXQacc27Ztix07dqjfF4fYypUrERoaapzKiMho9L1PbGp4MOROjiauhsg0DDpCi42NRXh4OJKSklBQUIAvvvgC58+fx7Fjx3Dw4EGjFVdQUICYmBh89913SE9Ph6+vL0aOHIkPP/wQDg6c+YZIX8XTw6Rn5mm9jgYAPh5ydKpX3ax1ERmTQanQsWNHHDlyBLm5uQgKCsLPP/8Mb29vHDt2DK1btzZacfPmzcOyZcuwePFiXLhwAZ9++ik+++wzfPnll0b7DiJ7UDw9DACdc57FDGzC62Rk0wwatm8u/fv3h7e3N1atWqVue+mll1CpUiV8++23eq2Dw/aJ/mf3n2n4YMs59QAQ4MmRWczAJryfjKyWSYftd+/eHatWrUJmZqbBBeqjc+fO2L9/Py5fvgwAOHv2LA4fPoy+ffua9HuJpKqy3Bk5qkIAQGM/D3wzuh2OTOvJMCNJMOgaWrNmzfDhhx9iwoQJ6Nu3L4YPH46+ffvCxaX8z4IrzdSpU5GZmYng4GA4OjqisLAQc+bMwdChQ3Uuo1KpoFL97yGrWVlZRq2JyFYdvnIHUWtPQlVQhJ7BXurRjERSYdAR2qJFi/D3339j69atcHd3R2RkJHx8fPCvf/3LqINCNmzYgHXr1uH777/H6dOnsXbtWsyfP1/9hBJtYmNjoVQq1S9/f3+j1UNkqxhmZA+Mcg0tLy8P27dvx5w5c3Du3DkUFhYaozb4+/tj2rRpGD9+vLrtP//5D9atW4eLFy9qXUbbEZq/vz+voZHdOnL1DkbHMczIdul7Da3CTxROT0/H+vXrsW7dOvzxxx9o27ZtRVeplpubW2J4vqOjI4qKinQuI5fLIZfLjVYDkS1jmJE9MSjQsrKysGnTJnz//fdISEhA3bp1MWzYMKxfvx716tUzWnEDBgzAnDlzULt2bTRp0gSJiYlYsGABRo8ebbTvIJIqhhnZG4NOObq6uqJq1aoYPHgwXnvtNaMelT0tOzsbM2fOxJYtW5CRkQE/Pz8MHToUH330kd4DUDhsn+wRw4ykRN/f4+UONCEEVq5ciddffx2VKlWqcKGmxkAje8MwI6kx2X1oQghMmDABf//9d4UKJCLjY5iRPSt3oDk4OKB+/fq4e/euKeohIgMxzMjeGXQf2qeffop///vf+PPPP41dDxEZ4PAVhhmRQYNCqlatitzcXBQUFMDFxQWurq4an9+7d89oBVYUr6GR1PGmaZI6k96H9vnnnxtaFxEZEcOM6H8MCrTIyEhj10Fk1wqLBE6k3ENGdh683BVoF+hZ5lQuDDMiTQY/KSQ5ORlr1qxBcnIyvvjiC3h5eWH37t3w9/dHkyZNjFkjkaTt/jMNs7YnIS0zT93mq1QgekBjnU/BZ5gRlWTQoJCDBw+iWbNm+O2337B582Y8fPgQAPDHH38gOjraqAUSSdnuP9Pw1rrTGmEGAOmZeXhr3Wns/jOtxDJPh1kPhhmRmkGBNm3aNPznP//B3r17NZ7Y0b17dxw7dsxoxRFJWWGRwKztSdA2Kqu4bdb2JBQW/a/Hs0dmSxlmRGoGBdq5c+fwwgsvlGivUaMG708j0tOJlHsljsyeJgCkZebhRMqTUcM8zUhUOoMCrUqVKkhLK3kqJDExETVr1qxwUUT2ICNbd5g92+/IVYYZUVkMCrRhw4Zh6tSpSE9Ph0wmQ1FREY4cOYL33nsPI0aMMHaNRJJ0/U6uXv0yslS8aZpIDwbdWJ2fn4+RI0di/fr1EELAyckJhYWFGDZsGOLi4uDoaD0/bLyxmqxRYZFAp7m/ID2r9KO0qpWckfu4kGFGds1kT9t/2rVr13D69GkUFRWhVatWqF+/vqGrMhkGGlmjY8l3MXTl8TL7OTrIUFgkGGZk18wyY3XdunVRt25dFBYW4ty5c7h//z6qVq1akVUS2YV9Sel69WOYEenPoGtokyZNwqpVqwAAhYWF6Nq1K0JCQuDv74+EhARj1kckObv/TMOqI9f16htSuwrDjEhPBgXajz/+iBYtWgAAtm/fjmvXruHixYuYNGkSZsyYYdQCiaSk+N4zfcidHLBuTHuGGZGeDAq0O3fuwMfHBwCwc+dODB48GA0aNEBUVBTOnTtn1AKJpKSse8+eNv+V5qjkUqGrAkR2xaBA8/b2RlJSEgoLC7F792706tULAJCbm2tVIxyJrEFhkcCx5LvYeuZvHLl6W69lIkMDMKAF7+kkKg+D/vwbNWoUBg8eDF9fX8hkMvTu3RsA8NtvvyE4ONioBRLZMm0PHtaHrocSE5FuBgVaTEwMmjZtitTUVLzyyiuQy+UAAEdHR0ybNs2oBRLZosIigcW/XMHCfVfKvayv8sn0MURUPhW6D80W8D40Mrfdf6YhZltSmTdNayMDsPT1EB6hET1F39/jBl1DA4D9+/ejf//+CAoKQr169dC/f3/s27fP0NURSULxdDCGhJmvUsEwI6oAg045Ll68GO+++y5efvllvPPOOwCA48ePo2/fvliwYAEmTJhg1CKJbEFp08HoUqdaJbzdox78qlTSa5ZqItLNoFOONWvWxPTp00sE11dffYU5c+bg1q1bRiuwonjKkcxF38dZPe2b0e3QpUENE1VEJA0mPeWYlZWF8PDwEu1hYWHIysoyZJVENk/f6WCK+XjI0aledRNVQ2R/DAq0gQMHYsuWLSXat27digEDBlS4KCJb5OWuKFf/mIFNeIqRyIj0voa2aNEi9X83atQIc+bMQUJCAkJDQwE8uYZ25MgRTJkyxfhVEtmAdoGe8FUqkJ6ZV+p1NG93F8x6vikHfxAZmd7X0AIDA/VboUyGa9euVagoY+I1NDKn4lGOALSG2ts96mFSrwY8MiMqB6NPH5OSklKi7c6dO5DJZKhWrZphVRJJTHhTXyx9PaTE00HkTg6Y/0pzPs6KyITKfQ3twYMHGD9+PKpXrw5vb294eXmhevXqmDBhAh48eGCCEolsS3hTX8x7qTmcHZ8chYXUroLEj3ozzIhMrFz3od27dw+hoaH4+++/8dprr6FRo0YQQuDChQuIi4vD/v37cfToUU7ySXbtyNU7GPvNKeQXcnJOInMqV6DNnj0bLi4uSE5Ohre3d4nPwsLCMHv2bCxcuNCoRRLZiiNX72B03EmoCooYZkRmVq5TjvHx8Zg/f36JMAMAHx8ffPrpp1qH8xPZA4YZkWWVK9DS0tLQpEkTnZ83bdoU6enpFS7qaX///Tdef/11VKtWDZUqVULLli3x+++/G/U7iCqKYUZkeeU65Vi9enVcv34dtWrV0vp5SkqKUUc83r9/H506dUL37t2xa9cueHl5ITk5GVWqVDHadxBVFMOMyDqUK9DCw8MxY8YM7N27Fy4uLhqfqVQqzJw5U+sjsQw1b948+Pv7Y82aNeq2OnXqGG39RBXFMCOyHuV6OPFff/2FNm3aQC6XY/z48erZqZOSkrBkyRKoVCqcOnUK/v7+RimucePG6NOnD/766y8cPHgQNWvWxLhx4zB27Fi918Ebq8lUGGZE5qHv7/FyP20/JSUF48aNw88//4ziRWUyGXr37o3FixejXr16Fav8KQrFk2fjTZ48Ga+88gpOnDiBSZMmYfny5RgxYoTWZVQqFVQqlfp9VlYW/P39GWhkVAwzIvMxWaAVu3//Pq5ceTK9fL169eDpafwp411cXNCmTRscPXpU3TZx4kScPHkSx44d07pMTEwMZs2aVaKdgUbGwjAjMi+Tz1hdtWpVtGvXDu3atTNJmAGAr68vGjdurNHWqFEj3Lx5U+cy06dPR2ZmpvqVmppqktrIPjHMiKyXQTNWm0unTp1w6dIljbbLly8jICBA5zJyuRxyudzUpZGEFRYJnEi5h4zsPHi5K9QzSTPMiKybVQfau+++i44dO+KTTz7B4MGDceLECaxYsQIrVqywdGkkUbv/TCvxYGFfpQJD2tTC0oPXGGZEVszga2jm8tNPP2H69Om4cuUKAgMDMXnyZI5yJJMonvqltB8IhhmR+Zl8UIitYKCRPgqLBDrP+0XjyOxZcicHJH7UG5VcrPrEBpHkmHxQCJGtKiwSOJZ8F1vP/I1jyXfV18xKCzMAUBUU4WxqppmqJKLy4p+aZFd0XSPr29RHr+UzsksPPSKyHAYa2Q1d18jSM/Ow6sh1vdbh5a4wel1EZBw85Uh2obBIYNb2JK0DPorbHGS6l5fhyZFcu0DT3HNJRBXHQCO7oM81siIdw6OKcy56QGM4lpZ6RGRRDDSyC+W59iV30vyx8FEqsPT1EIQ39TV2WURkRLyGRnZB32tfIbWrYN2Y9jibmlniSSFEZN0YaGQX2gV6wlepQHpmns4bp+VODlg3pj0quTghNMh4E9USkXnwlCPZBUcHGaIHPHnQta5jrfmvNOdN00Q2jIFGdiO8qS+Wvh4CH6Xm6Ue5kwO+HNoSA1rUtFBlRGQM/HOU7Ep4U19UcnFC1NqTyC8U6mtmPDIjsn38KSa7cuTqHYz95hTyCwUfNEwkMTzlSHaD85kRSRsDjezC4SsMMyKpY6CR5B2+cgdRaxlmRFLHQCNJY5gR2Q8GGkkWw4zIvjDQSJIYZkT2h4FGkvN0mPVgmBHZDQYaScqzR2ZLGWZEdoOBRpLB04xE9o2BRpJw5CrDjMjeMdDI5vEJIEQEMNDIxjHMiKgYA41sFsOMiJ7GQCObxDAjomcx0MjmMMyISBsGGtkUhhkR6cJAI5vBMCOi0jDQyCYwzIioLAw0snoMMyLSBwONrBrDjIj0xUAjq8UwI6LyYKCRVWKYEVF52VSgxcbGQiaTYdKkSZYuhUyIYUZEhrCZQDt58iRWrFiB5s2bW7oUMiGGGREZyiYC7eHDh3jttdewcuVKVK1a1dLlkIkwzIioImwi0MaPH49+/fqhV69eZfZVqVTIysrSeJH1Y5gRUUU5WbqAsqxfvx6nT5/GyZMn9eofGxuLWbNmmbgqMiaGGREZg1UfoaWmpuKdd97BunXroFAo9Fpm+vTpyMzMVL9SU1NNXCVVBMOMiIxFJoQQli5Cl/j4eLzwwgtwdPzfL7jCwkLIZDI4ODhApVJpfKZNVlYWlEolMjMz4eHhYeqSqRwYZkSkD31/j1v1KceePXvi3LlzGm2jRo1CcHAwpk6dWmaYkfVimBGRsVl1oLm7u6Np06YabW5ubqhWrVqJdrIdDDMiMgWrvoZG0sMwIyJTseojNG0SEhIsXQIZiGFGRKbEIzQyC4YZEZkaA41MjmFGRObAQCOTYpgRkbkw0MhkGGZEZE4MNDIJhhkRmRsDjYyOYUZElsBAI6NimBGRpTDQyGgYZkRkSQw0MgqGGRFZGgONKuzwFYYZEVkeA40q5PCVO4hayzAjIstjoJHBGGZEZE0YaGQQhhkRWRsGGpUbw4yIrBEDjcrl6TDrwTAjIivCQCO9PXtktpRhRkRWhIFGeuFpRiKydgw0KtORqwwzIrJ+DDQqFZ8AQkS2goFGOjHMiMiWMNBIK4YZEdkaBhqVwDAjIlvEQCMNDDMislUMNFJjmBGRLWOgEQBOAUNEto+BRrxpmogkgYFm5xhmRCQVDDQ7xjAjIilhoNkphhkRSQ0DzQ5xChgikiIGmp3hFDBEJFUMNDvC04xEJGUMNDvBKWCISOoYaHaATwAhIntg1YEWGxuLtm3bwt3dHV5eXhg0aBAuXbpk6bJsCsOMiOyFVQfawYMHMX78eBw/fhx79+5FQUEBwsLCkJOTY+nSbALDjIjsiUwIISxdhL5u374NLy8vHDx4EF26dNFrmaysLCiVSmRmZsLDw8PEFVoPhhkRSYW+v8edzFhThWVmZgIAPD09dfZRqVRQqVTq91lZWSavy9owzIjIHln1KcenCSEwefJkdO7cGU2bNtXZLzY2FkqlUv3y9/c3Y5WWxzAjIntlM6ccx48fjx07duDw4cOoVauWzn7ajtD8/f3t4pQjw4yIpEhSpxzffvttbNu2DYcOHSo1zABALpdDLpebqTLrwTAjIntn1YEmhMDbb7+NLVu2ICEhAYGBgZYuySoxzIiIrDzQxo8fj++//x5bt26Fu7s70tPTAQBKpRKurq4Wrs46MMyIiJ6w6mtoMplMa/uaNWswcuRIvdYh5WH7DDMisgeSuIZmxVlrcQwzIiJNNjNsn/6HYUZEVBIDzcYwzIiItGOg2RCGGRGRbgw0G8EwIyIqHQPNBjDMiIjKxkCzcgwzIiL9MNCsGMOMiEh/DDQrxTAjIiofBpoVYpgREZUfA83KMMyIiAzDQLMiDDMiIsMx0KwEw4yIqGIYaFaAYUZEVHEMNAtjmBERGQcDzYIYZkRExsNAsxCGGRGRcTHQLIBhRkRkfAw0M2OYERGZBgPNjBhmRESmw0AzE4YZEZFpMdDM4PAVhhkRkakx0Ezs8JU7iFrLMCMiMjUGmgkxzIiIzIeBZiIMMyIi82KgmQDDjIjI/BhoRvZ0mPVgmBERmQ0DzYiePTJbyjAjIjIbBpqR8DQjEZFlMdCM4MhVhhkRkaUx0CqITwAhIrIODLQKYJgREVkPBpqBGGZERNaFgWYAhhkRkfVhoJUTw4yIyDrZRKAtWbIEgYGBUCgUaN26NX799VeL1MEwIyKyXlYfaBs2bMCkSZMwY8YMJCYm4rnnnkNERARu3rxp1jo4BQwRkXWTCSGEpYsoTfv27RESEoKlS5eq2xo1aoRBgwYhNja2zOWzsrKgVCqRmZkJDw8Pg2rgTdNERJaj7+9xqz5Ce/z4MX7//XeEhYVptIeFheHo0aNal1GpVMjKytJ4VQTDjIjINlh1oN25cweFhYXw9vbWaPf29kZ6errWZWJjY6FUKtUvf39/g7+fYUZEZDusOtCKyWQyjfdCiBJtxaZPn47MzEz1KzU11aDvZJgREdkWJ0sXUJrq1avD0dGxxNFYRkZGiaO2YnK5HHK5vELfyylgiIhsj1Ufobm4uKB169bYu3evRvvevXvRsWNHk3wnp4AhIrJNVn2EBgCTJ0/G8OHD0aZNG4SGhmLFihW4efMm3nzzTaN/F08zEhHZLqsPtCFDhuDu3buYPXs20tLS0LRpU+zcuRMBAQFG/R5OAUNEZNus/j60itLn/gU+AYSIyHpJ4j40c2CYERFJg10HGsOMiEg67DbQGGZERNJil4HGMCMikh67CzSGGRGRNNlVoDHMiIiky+rvQzOW48l38famiwwzIiKJspsjtHHfn2aYERFJmN0E2mOGGRGRpEn+lGPxg1BC/V0xd2A9qHJzoLJwTUREpL/iiZrLerCV5B999ddff1Vokk8iIrIOqampqFWrls7PJR9oRUVFuHXrFtzd3XVOClqWrKws+Pv7IzU1tdTniNkqbp9t4/bZNm5f2YQQyM7Ohp+fHxwcdF8pk/wpRwcHh1ITvTw8PDwk+T9cMW6fbeP22TZuX+mUSmWZfexmUAgREUkbA42IiCSBgaYHuVyO6OhoyOVyS5diEtw+28bts23cPuOR/KAQIiKyDzxCIyIiSWCgERGRJDDQiIhIEhhoREQkCQy0/1qyZAkCAwOhUCjQunVr/Prrr6X2P3jwIFq3bg2FQoG6deti2bJlZqq0fGJjY9G2bVu4u7vDy8sLgwYNwqVLl0pdJiEhATKZrMTr4sWLZqpafzExMSXq9PHxKXUZW9l3AFCnTh2t+2L8+PFa+1v7vjt06BAGDBgAPz8/yGQyxMfHa3wuhEBMTAz8/Pzg6uqKbt264fz582Wud9OmTWjcuDHkcjkaN26MLVu2mGgLSlfa9uXn52Pq1Klo1qwZ3Nzc4OfnhxEjRuDWrVulrjMuLk7rPs3LyzPx1pRU1v4bOXJkiTo7dOhQ5nqNtf8YaAA2bNiASZMmYcaMGUhMTMRzzz2HiIgI3Lx5U2v/lJQU9O3bF8899xwSExPxwQcfYOLEidi0aZOZKy/bwYMHMX78eBw/fhx79+5FQUEBwsLCkJOTU+ayly5dQlpamvpVv359M1Rcfk2aNNGo89y5czr72tK+A4CTJ09qbNvevXsBAK+88kqpy1nrvsvJyUGLFi2wePFirZ9/+umnWLBgARYvXoyTJ0/Cx8cHvXv3RnZ2ts51Hjt2DEOGDMHw4cNx9uxZDB8+HIMHD8Zvv/1mqs3QqbTty83NxenTpzFz5kycPn0amzdvxuXLlzFw4MAy1+vh4aGxP9PS0qBQKEyxCaUqa/8BQHh4uEadO3fuLHWdRt1/gkS7du3Em2++qdEWHBwspk2bprX/+++/L4KDgzXa3njjDdGhQweT1WgsGRkZAoA4ePCgzj4HDhwQAMT9+/fNV5iBoqOjRYsWLfTub8v7Tggh3nnnHREUFCSKioq0fm5L+w6A2LJli/p9UVGR8PHxEXPnzlW35eXlCaVSKZYtW6ZzPYMHDxbh4eEabX369BGvvvqq0Wsuj2e3T5sTJ04IAOLGjRs6+6xZs0YolUrjFmcE2rYvMjJSPP/88+VajzH3n90foT1+/Bi///47wsLCNNrDwsJw9OhRrcscO3asRP8+ffrg1KlTyM/PN1mtxpCZmQkA8PT0LLNvq1at4Ovri549e+LAgQOmLs1gV65cgZ+fHwIDA/Hqq6/i2rVrOvva8r57/Pgx1q1bh9GjR5f5oG1b2XdPS0lJQXp6usb+kcvl6Nq1q86fRUD3Pi1tGWuRmZkJmUyGKlWqlNrv4cOHCAgIQK1atdC/f38kJiaap0ADJCQkwMvLCw0aNMDYsWORkZFRan9j7j+7D7Q7d+6gsLAQ3t7eGu3e3t5IT0/Xukx6errW/gUFBbhz547Jaq0oIQQmT56Mzp07o2nTpjr7+fr6YsWKFdi0aRM2b96Mhg0bomfPnjh06JAZq9VP+/bt8c0332DPnj1YuXIl0tPT0bFjR9y9e1drf1vddwAQHx+PBw8eYOTIkTr72NK+e1bxz1t5fhaLlyvvMtYgLy8P06ZNw7Bhw0p9aG9wcDDi4uKwbds2/L//9/+gUCjQqVMnXLlyxYzV6iciIgLfffcdfvnlF/zf//0fTp48iR49ekCl0j0LpTH3n+Sftq+vZ//iFUKU+lewtv7a2q3JhAkT8Mcff+Dw4cOl9mvYsCEaNmyofh8aGorU1FTMnz8fXbp0MXWZ5RIREaH+72bNmiE0NBRBQUFYu3YtJk+erHUZW9x3ALBq1SpERETAz89PZx9b2ne6lPdn0dBlLCk/Px+vvvoqioqKsGTJklL7dujQQWNgRadOnRASEoIvv/wSixYtMnWp5TJkyBD1fzdt2hRt2rRBQEAAduzYgRdffFHncsbaf3Z/hFa9enU4OjqW+GsgIyOjxF8NxXx8fLT2d3JyQrVq1UxWa0W8/fbb2LZtGw4cOGDQdDodOnSwyr8In+Xm5oZmzZrprNUW9x0A3LhxA/v27cOYMWPKvayt7Lvi0anl+VksXq68y1hSfn4+Bg8ejJSUFOzdu7fcU6o4ODigbdu2NrFPfX19ERAQUGqtxtx/dh9oLi4uaN26tXr0WLG9e/eiY8eOWpcJDQ0t0f/nn39GmzZt4OzsbLJaDSGEwIQJE7B582b88ssvCAwMNGg9iYmJ8PX1NXJ1xqdSqXDhwgWdtdrSvnvamjVr4OXlhX79+pV7WVvZd4GBgfDx8dHYP48fP8bBgwd1/iwCuvdpactYSnGYXblyBfv27TPojyghBM6cOWMT+/Tu3btITU0ttVaj7r9yDyORoPXr1wtnZ2exatUqkZSUJCZNmiTc3NzE9evXhRBCTJs2TQwfPlzd/9q1a6JSpUri3XffFUlJSWLVqlXC2dlZ/Pjjj5baBJ3eeustoVQqRUJCgkhLS1O/cnNz1X2e3b6FCxeKLVu2iMuXL4s///xTTJs2TQAQmzZtssQmlGrKlCkiISFBXLt2TRw/flz0799fuLu7S2LfFSssLBS1a9cWU6dOLfGZre277OxskZiYKBITEwUAsWDBApGYmKge5Td37lyhVCrF5s2bxblz58TQoUOFr6+vyMrKUq9j+PDhGiOQjxw5IhwdHcXcuXPFhQsXxNy5c4WTk5M4fvy4VW1ffn6+GDhwoKhVq5Y4c+aMxs+jSqXSuX0xMTFi9+7dIjk5WSQmJopRo0YJJycn8dtvv1nV9mVnZ4spU6aIo0ePipSUFHHgwAERGhoqatasabb9x0D7r6+++koEBAQIFxcXERISojGsPTIyUnTt2lWjf0JCgmjVqpVwcXERderUEUuXLjVzxfoBoPW1Zs0adZ9nt2/evHkiKChIKBQKUbVqVdG5c2exY8cO8xevhyFDhghfX1/h7Ows/Pz8xIsvvijOnz+v/tyW912xPXv2CADi0qVLJT6ztX1XfFvBs6/IyEghxJOh+9HR0cLHx0fI5XLRpUsXce7cOY11dO3aVd2/2A8//CAaNmwonJ2dRXBwsMUCvLTtS0lJ0fnzeODAAfU6nt2+SZMmidq1awsXFxdRo0YNERYWJo4ePWr+jROlb19ubq4ICwsTNWrUEM7OzqJ27doiMjJS3Lx5U2Mdptx/nD6GiIgkwe6voRERkTQw0IiISBIYaEREJAkMNCIikgQGGhERSQIDjYiIJIGBRkREksBAI7IhMTExaNmypfr9yJEjMWjQILPXcf36dchkMpw5c8bs302kCwONyAiennre2dkZdevWxXvvvafXzOAV8cUXXyAuLk6vvgwhkjpOH0NkJOHh4VizZg3y8/Px66+/YsyYMcjJycHSpUs1+uXn5xvtQchKpdIo6yGSAh6hERmJXC6Hj48P/P39MWzYMLz22muIj49XnyZcvXo16tatC7lcDiEEMjMz8a9//QteXl7w8PBAjx49cPbsWY11zp07F97e3nB3d0dUVBTy8vI0Pn/2lGNRURHmzZuHevXqQS6Xo3bt2pgzZw4AqGdaaNWqFWQyGbp166Zebs2aNWjUqBEUCgWCg4NLzNF14sQJtGrVCgqFAm3atLHqGZPJfvEIjchEXF1dkZ+fDwC4evUqNm7ciE2bNsHR0REA0K9fP3h6emLnzp1QKpVYvnw5evbsicuXL8PT0xMbN25EdHQ0vvrqKzz33HP49ttvsWjRItStW1fnd06fPh0rV67EwoUL0blzZ6SlpeHixYsAnoRSu3btsG/fPjRp0gQuLi4AgJUrVyI6OhqLFy9Gq1atkJiYiLFjx8LNzQ2RkZHIyclB//790aNHD6xbtw4pKSl45513TPyvR2QAgx5pTEQaIiMjxfPPP69+/9tvv4lq1aqJwYMHi+joaOHs7CwyMjLUn+/fv194eHiIvLw8jfUEBQWJ5cuXCyGECA0NFW+++abG5+3btxctWrTQ+r1ZWVlCLpeLlStXaq2x+GnviYmJGu3+/v7i+++/12j7+OOPRWhoqBBCiOXLlwtPT0+Rk5Oj/nzp0qVa10VkSTzlSGQkP/30EypXrgyFQoHQ0FB06dIFX375JQAgICAANWrUUPf9/fff8fDhQ1SrVg2VK1dWv1JSUpCcnAwAuHDhAkJDQzW+49n3T7tw4QJUKhV69uypd823b99GamoqoqKiNOr4z3/+o1FHixYtUKlSJb3qILIUnnIkMpLu3btj6dKlcHZ2hp+fn8bADzc3N42+RUVF8PX1RUJCQon1VKlSxaDvd3V1LfcyRUVFAJ6cdmzfvr3GZ8WnRgVnmCIbwUAjMhI3NzfUq1dPr74hISFIT0+Hk5MT6tSpo7VPo0aNcPz4cYwYMULddvz4cZ3rrF+/PlxdXbF//36MGTOmxOfF18wKCwvVbd7e3qhZsyauXbuG1157Tet6GzdujG+//RaPHj1Sh2ZpdRBZCk85EllAr169EBoaikGDBmHPnj24fv06jh49ig8//BCnTp0CALzzzjtYvXo1Vq9ejcuXLyM6Ohrnz5/XuU6FQoGpU6fi/fffxzfffIPk5GQcP34cq1atAgB4eXnB1dUVu3fvxj///IPMzEwAT27Wjo2NxRdffIHLly/j3LlzWLNmDRYsWAAAGDZsGBwcHBAVFYWkpCTs3LkT8+fPN/G/EFH5MdCILEAmk2Hnzp3o0qULRo8ejQYNGuDVV1/F9evX4e3tDQAYMmQIPvroI0ydOhWtW7fGjRs38NZbb5W63pkzZ2LKlCn46KOP0KhRIwwZMgQZGRkAACcnJyxatAjLly+Hn58fnn/+eQDAmDFj8PXXXyMuLg7NmjVD165dERcXpx7mX7lyZWzfvh1JSUlo1aoVZsyYgXnz5pnwX4fIMDLBE+RERCQBPEIjIiJJYKAREZEkMNCIiEgSGGhERCQJDDQiIpIEBhoREUkCA42IiCSBgUZERJLAQCMiIklgoBERkSQw0IiISBIYaEREJAn/H+aorOq9yIdYAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2151±0.0706 95CI=(0.1024, 0.3471)\n", - " MSE: 0.0725±0.0384 95CI=(0.0157, 0.1419)\n", - " R2: 0.8086±0.5423 95CI=(0.6794, 0.9825)\n", - "RMSE: 0.2586±0.0750 95CI=(0.1254, 0.3767)\n" - ] - }, - { - "data": { - "image/png": "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yFJ4yJHISHr37o2EhAQ4OzsjICBA68QPd3d3rXlLSkrg7++P5OTkcuupU6eOQa/v5uZW7WVKSkoAPD7s2KlTJ63nSg+NCt5himwEg0ZkJO7u7mjUqJFe87Zt2xa5ublwcnJCaGhohfM0a9YMqampmDBhgmZaamqqznU2btwYbm5u2L9/P15++eVyz5d+ZlZcXKyZ5uvri8DAQFy9ehXjxo2rcL3NmzfHv/71L/zvf//TRLOycRBZCg85EllAv379EBkZieHDh2PPnj24du0ajhw5grfeegsnT54EALz++utYv3491q9fj8zMTCxYsADnzp3TuU5XV1fMmTMHb7zxBr744gtcuXIFqampWLduHQDAx8cHbm5u2L17N/773/9CqVQCeHyxdnx8PFasWIHMzEycOXMGGzZswNKlSwEAY8eOhYODAyZPnoyMjAzs2rULH330kYn/hIiqj0EjsgCZTIZdu3ahR48emDRpEp566imMHj0a165dg6+vLwBg1KhReOeddzBnzhy0a9cO169fx9SpUytd79tvv43Zs2fjnXfeQbNmzTBq1Cjcvn0bAODk5ISVK1fi008/RUBAAJ599lkAwMsvv4zPP/8ciYmJiIiIQM+ePZGYmKg5zb927drYsWMHMjIy0KZNG8yfPx+LFy824Z8OkWFkggfIiYhIAriHRkREksCgERGRJDBoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERScL/AT2fBONDhGLJAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2254±0.0468 95CI=(0.1542, 0.3018)\n", - " MSE: 0.0647±0.0275 95CI=(0.0300, 0.1120)\n", - " R2: -0.7618±16.2603 95CI=(-0.0136, 0.9874)\n", - "RMSE: 0.2488±0.0531 95CI=(0.1732, 0.3347)\n" - ] - }, - { - "data": { - "image/png": "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jh2La9euVbrO5OTkCt/TgoICE7+a8qp6/8aNG1dunB07dqxyvVK9fwwagG+++QbTp0/H3LlzkZ6ejq5du2LAgAG4cuVKhfNnZmZi4MCB6Nq1K9LT0/Haa69h2rRpWL9+vZlHXrXU1FTExcXh0KFD2LlzJ4qLixEdHY28vLwql/3999+RnZ2tvTVu3NgMI66+Fi1a6IzzxIkTeue1pfcOAI4cOaLz2nbu3AkAePrppytdzlrfu7y8PERGRmLZsmUVPr5o0SK8//77WLZsGY4cOQJ/f3/07dsXd+7c0bvOgwcPYvjw4RgzZgx+++03jBkzBjExMfjll19M9TL0quz15efnIy0tDa+//jrS0tKwYcMGnD17FkOHDq1yvV5eXjrvZ3Z2NlxdXU3xEipV1fsHAP3799cZ59atWytdp6TvnyDRvn178cILL+hMa9q0qZg9e3aF87/66quiadOmOtOef/550bFjR5ONUSrXr18XAERqaqreefbs2SMAiNu3b5tvYEaKj48XkZGRBs9vy++dEEK89NJLIiwsTJSWllb4uC29dwDExo0btfdLS0uFv7+/WLBggXZaQUGBUKlU4uOPP9a7npiYGNG/f3+daf369RMjRoyQfMzV8fDrq8jhw4cFAHH58mW986xevVqoVCppByeBil5fbGyseOyxx6q1HinfP7vfQrt37x5+/fVXREdH60yPjo7GgQMHKlzm4MGD5ebv168fjh49iqKiIpONVQoajQYA4O3tXeW8rVq1QkBAAHr37o09e/aYemhGO3fuHNRqNUJDQzFixAhcvHhR77y2/N7du3cPa9euxfjx46v8om1bee8elJmZiZycHJ33R6lUonv37np/FgH972lly1gLjUYDhUKB2rVrVzrf3bt3ERwcjAYNGmDw4MFIT083zwCNkJKSAl9fXzzyyCOYNGkSrl+/Xun8Ur5/dh+0GzduoKSkBH5+fjrT/fz8kJOTU+EyOTk5Fc5fXFyMGzdumGysNSWEwIwZM9ClSxeEh4frnS8gIACffvop1q9fjw0bNqBJkybo3bs39u7da8bRGqZDhw74/PPPsX37dqxYsQI5OTno1KkTbt68WeH8tvreAcCmTZvw119/Ydy4cXrnsaX37mFlP2/V+VksW666y1iDgoICzJ49G6NGjar0S3ubNm2K5ORk/PDDD/jqq6/g6uqKzp07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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4567±0.0149 95CI=(0.4344, 0.4844)\n", - " MSE: 0.3618±0.0253 95CI=(0.3243, 0.4090)\n", - " R2: 0.8168±0.0129 95CI=(0.7980, 0.8382)\n", - "RMSE: 0.6012±0.0209 95CI=(0.5695, 0.6395)\n" - ] - }, - { - "data": { - "image/png": "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aPy1feLECTg7O6NRo0Ya7apWrYry5cvjzJkzRm03NTVV57Lq1avrXad9+/ZwdXXF5s2bdd6OYCzxv0ngC+9XvXr1cPr0aa22qmV169bVuS1PT08MGDAA0dHR8PHxwUsvvaSzXYUKFQAA06dP19umZs2aAIC1a9eiXbt2iImJ0Xj90aNHWusMHz4cw4cPR2ZmJvbt24eoqCj07NkTFy9eRHBwsPoLPycnR+MPGX1Hc7qORCtUqIDnn38ec+fO1blOYGCgzuXFpfoZ/fzzzwgODjbLNsm+MNCoxHJycrB27Vo0a9ZM7xezLj///DOysrLQokUL9bLAwEDk5+fj2LFjaN68uXr5xYsXce/ePVSuXNmobX/33Xd4+eWX1c8PHjyI69evGwxcpVKJUaNGISYmBt98843Ono5XrlxBZmamwZ6O3377LVxdXdG4cWP1sr59+2LcuHE4cuSIer/y8vKwdu1aNG/e3OCX9tixY/H333+jbdu2ent51qxZEzVq1MDJkycxb948vdsCnobKs0fRp06dwqFDhxAUFKRzHS8vL0RERODJkyfo06cPzp49i+DgYPXpz1OnTmncd7h161aDNRTWs2dPbN++HdWqVUO5cuWMXq+4unbtChcXF1y5ckXj30ZJqH6OhY9syXYYaFRimzdvxv379/WGxfXr1zFw4EAMGDAA1atXh0wmw969e7F48WLUqVNHY73hw4dj0aJFePnllzFz5kzUrFkTV69exbx58+Dl5WX0kdPx48cxatQovPrqq7h58yZmzJiBSpUqqU+/6bNw4UJcvXoVw4YNw44dO9C3b1/4+/vj7t27iIuLw6pVq/DDDz/g+eefx8cff4ykpCR07NgRlStXRlpaGlasWIGdO3di9uzZ6iMC4Om1sGXLluHVV1/F/Pnz4efnh88//xwXLlzArl27DNbUoEEDbN68uch9/vLLLxEREYGuXbti2LBhqFSpEu7fv49z584hISEBP/30E4CnAfLBBx8gKioKbdu2xYULF/D+++8jNDRUo5v86NGj4eHhgVatWiEgIACpqamIjo6GQqFQh1f37t3h6+uLkSNH4v3334eLiwtWr16NmzdvFlmvyvvvv4+4uDi0bNkSEydORM2aNZGdnY1r165h+/bt+OKLL4z+Q8aQkJAQvP/++5gxYwauXr2Kbt26oVy5cvj7779x9OhReHl5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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4471±0.0217 95CI=(0.4145, 0.4838)\n", - " MSE: 0.3385±0.0363 95CI=(0.2930, 0.4102)\n", - " R2: 0.8199±0.0205 95CI=(0.7874, 0.8495)\n", - "RMSE: 0.5810±0.0309 95CI=(0.5413, 0.6405)\n" - ] - }, - { - "data": { - "image/png": "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bKhxrA0bNmgcx9PTU+MPLrlcrno/kh4O2yeTa9SoERYvXoxr166pbporPX36FKtXr0b9+vVRp04drfvHxsbixo0buHLlCp49e4YXX3xRNbDhlVdeMaiG9PR0rduKDkB5XuvWreHq6opNmzbh7bffNug42oj/LQJf9CqiVq1aOHPmjEZb5bbIyEit7+Xp6YlevXohISEBPj4++Ne//qW1nb+/PwBg0qRJOttUr14dALBmzRq0atUKiYmJaq8/fvxYY59BgwZh0KBByMrKwr59+xAfH4/OnTvj0qVLCAsLU/3Cz83NVbv3qetqTtuVqL+/P15++WXMnDlT6z4hISFat5eU8mf0/fffIywszCTvSdLCQCOT2717N5ycnFC5cmWN13766Sfcu3cPM2bM0PseMpkM1apVA1AYgvPmzUOdOnUMDrS1a9fitddeU31/8OBB3LhxQ+tVoVJQUBCGDBmCxMREfP3111pHOl69ehVZWVl6RzquXr0arq6uaiM1X331VYwYMQJHjhxB48aNARR2C65ZswaNGzfW+0t7+PDh+Ouvv9CyZUuNKwal6tWro1q1ajh16hQ+/vhjne8FFP5snx94c/r0aRw6dAihoaFa9/Hy8kJsbCyePn2K7t2749y5cwgLC1N1f54+fRoNGzZUtd+yZYveGorq3Lkztm3bhipVqqBs2bIG71dSHTp0gIuLC65evar2/0ZpKH+ORa9syXoYaGS0t956Cz4+PmjUqBECAwNx7949fPfdd9iwYQPef/99jaszoLC70cPDA3369NH5vu+88w5atWqFcuXK4dq1a5g/fz7+/PNPjXsp+hw/fhxDhgzB66+/jtTUVEyePBnly5dXdb/p8tlnn+HatWuIi4vDjh078Oqrr6rObefOnVixYgXWr1+Pl19+GZ988gmSk5MRHR2NChUq4M6dO1i2bBl++eUXTJs2TXVFABTeC1u4cCFef/11zJo1CwEBAVi0aBEuXryIXbt26a2pTp062LRpU7HnvGTJEsTGxqJDhw6Ii4tD+fLl8eDBA5w/fx5JSUn47rvvABQGyIcffoj4+Hi0bNkSFy9exIwZMxAeHq42TH7o0KHw8PBAs2bNEBwcjPT0dCQkJEChUKjCq2PHjvDz88PgwYMxY8YMuLi4YOXKlUhNTS22XqUZM2Zg586daNq0KUaPHo3q1asjJycH169f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4717±0.0221 95CI=(0.4335, 0.5090)\n", - " MSE: 0.3932±0.0380 95CI=(0.3295, 0.4515)\n", - " R2: 0.8117±0.0193 95CI=(0.7819, 0.8437)\n", - "RMSE: 0.6263±0.0304 95CI=(0.5740, 0.6720)\n" - ] - }, - { - "data": { - "image/png": "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rhUAxLPPPquy/eDBgwKA+OCDD5TbynY5Lly4UAAQ8fHx5davMGLECPHtt9+K/fv3ix9//FFERkYKAOLdd99Vaefs7CwmTpyotv+hQ4cEALFx40bltpCQENG/f38hhBBdunQRL7zwghBCiJ07dwqZTCbS0tLEDz/8oNbl2KhRI9GyZUtRWFio8h4DBgwQgYGBori4WONnKCoqEoWFhaJHjx4qP7epU6cKb29vnZ8/OjpaaPozovge0tLSVD6Xo6OjuHTpkkrbiRMniqpVq6p950uWLBEAxPnz54UQQqSlpQkAonnz5iqf5dNPPxUAxKBBg1T2nz59ugAgsrOzhRBC3Lx5Uzg5OYnXX39dpd3Dhw9FQECAGDp0qHJbVFSUACC+//57lbb9+vUTDRs2VD5nl6O08AyNKuydd97BsWPHsHPnTrzyyiuYOnUqlixZorX9+fPnceTIEYwcORKurq4qr7366qtwdnbGyJEjcf78edy9excrVqzA5s2bAUDjmYkmI0eOVHneoUMHhISEIDEx0cBPp9u3336LESNGoHPnznj++eexa9cuDBgwAAsXLsTt27dV2mrqmivvtVdeeQXbt2/H3bt3sXr1anTr1g116tRRa3f16lVcvHhR+bmLioqUj379+iEjIwOXLl1Stl+1ahVatWoFV1dXODk5wdnZGb/++isuXLigbNO2bVs8ePAAw4cPx7Zt23Dnzh1DfjQaNWvWDE899ZTKtp9//hndunVDUFCQSt2RkZEAgH379qm079evn8p/B40bNwYA9O/fX6WdYvvNmzcBALt370ZRURHGjBmj8j6urq7o0qWL2khFmUyGgQMHqtV/48YNIz89mRsDjSqsdu3aaNOmDfr164fY2Fi8+uqrmDNnjtofdAXFEPyy3UHAkz9CW7duxY0bNxAeHg5fX18sWrQI//nPfwAANWvW1KumgIAAjdvu3r2r83MAQFpaml7voc2oUaNQVFSE48ePK7dVr15d43sruv98fHw0HuuFF16Aq6srli5dih07dmDcuHEa2/31118AgLfeegvOzs4qj8mTJwOAMpA++eQTTJo0Ce3atcNPP/2Ew4cP49ixY+jbty/+/vtv5TFHjx6NNWvW4MaNG3j++efh5+eHdu3aISEhwYifyhOBgYEaa9+xY4da3U2aNFGpW6Hsz8rFxUXn9vz8fOX7AMDTTz+t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ODgYI0aMwMiRIxEXF6fsJlyzZg3q1q0LuVwOIQSys7Px6quvws/PD56enujevTtOnz6tcsyFCxfC398fHh4eGDduHPLz81VeL9vlWFJSgkWLFqF+/fqQy+WoXbs2PvzwQwBQrrTQsmVLyGQydO3aVbnf2rVr0bhxY7i6uqJRo0Zqa3QdPXoULVu2hKurK9q0aSPpFZOp8uIZGpGZuLm5obCwEABw9epVfP/99/jpp5/g6OgIAOjfvz98fHywa9cueHl54fPPP0ePHj1w+fJl+Pj44Pvvv0d0dDRWrFiBzp0745tvvsGyZctQt25dre85Z84cfPnll1i6dCk6deqEjIwMXLx4EcCTUGrbti327NmDJk2awMXFBQDw5ZdfIjo6GsuXL0fLli1x8uRJTJgwAe7u7oiKikJubi4GDBiA7t27Y8OGDUhLS8Mbb7xh5p8ekRGMmtKYiFRERUWJwYMHK58fOXJEVK9eXQwdOlRER0cLZ2dnkZWVpXz9119/FZ6eniI/P1/lOPXq1ROff/65EEKIiIgI8dprr6m83q5dO9G8eXON75uTkyPkcrn48ssvNdaomO395MmTKtuDg4PFxo0bVba9//77IiIiQgghxOeffy58fHxEbm6u8vXY2FiNxyKyJnY5EpnIzz//jKpVq8LV1RURERF45pln8N///hcAEBISgho1aijbnjhxAo8ePUL16tVRtWpV5SMtLQ2pqakAgAsXLiAiIkLlPco+L+3ChQsoKChAjx499K759u3bSE9Px7hx41Tq+OCDD1TqaN68OapUqaJXHUTWwi5HIhPp1q0bYmNj4ezsjKCgIJWBH+7u7iptS0pKEBgYiL1796odx9vb26j3d3NzM3ifkpISAE+6Hdu1a6fymqJrVHCFKbIRDDQiE3F3d0f9+vX1atuqVStkZmbCyckJderU0dimcePGOHz4MMaMGaPcdvjwYa3HbNCgAdzc3PDrr79i/Pjxaq8rrpkVFxcrt/n7+6NmzZq4du0aRo4cqfG4YWFh+Oabb/D3338rQ1NXHUTWwi5HIivo2bMnIiIiMGTIEOzevRvXr1/HoUOH8O677+L48eMAgDfeeANr1qzBmjVrcPnyZURHR+P8+fNaj+nq6opZs2bhX//6F77++mukpqbi8OHDWL16NQDAz88Pbm5uiI+Px19//YXs7GwAT27WjomJwWeffYbLly/j7NmzWLt2LT755BMAwIgRI+Dg4IBx48YhJSUFu3btwpIlS8z8EyIyHAONyApkMhl27dqFZ555Bq+88gqeeuopDBs2DNevX4e/vz8A4KWXXsK///1vzJo1C61bt8aNGzcwadIkncd97733MHPmTPz73/9G48aN8dJLLyErKwsA4OTkhGXLluHzzz9HUFAQBg8eDAAYP348vvrqK6xbtw5NmzZFly5dsG7dOuUw/6pVq2LHjh1ISUlBy5YtMXfuXCxatMiMPx0i48gEO8iJiMgO8AyNiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjswv8DmgHYYRr1bSsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe888011b80>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe7a3041c10>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " [\n", - " 53,\n", - " 159\n", - " ],\n", - " [\n", - " 20,\n", - " 1210\n", - " ]\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\",\n", - " \"DATASETS\": [\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 7.89), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 9.04), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 6.14), ..., ([...], ...)]\"\n", - " ],\n", - " \"MEASUREMENT_TYPES\": \"{'P00533__pKdMeasurement', 'P00533__pIC50Measurement', 'P00533__pKiMeasurement'}\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2183750.0412380.0676850.0225510.9445250.0340340.2566060.042876
test0.2150770.0705800.0724870.0383960.8086320.5422670.2585690.075029
val0.2253990.0468430.0647030.027453-0.76182016.2603050.2487590.053127
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.4566580.0149270.3618270.0253000.8168410.0128790.6011580.020894
test0.4470510.0216540.3384910.0363380.8198910.0205380.5809790.030896
val0.4717340.0220940.3931630.0380300.8117120.0192680.6262900.030394
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2531970.0439990.1022290.0268420.9303210.0414150.3168500.042846
test0.2502220.0478300.0898640.0248070.9256210.0927490.2964900.044240
val0.2406980.0668490.1029360.0429500.8805250.1335830.3130560.070226
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:17:27.428671\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:17:27.435445+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:17:27 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 68C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb deleted file mode 100644 index c5edd21f..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/kinoml_object_model.ipynb +++ /dev/null @@ -1,903 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "6be1d23b-bf95-473b-8086-9b305ff2ada5", - "metadata": { - "tags": [] - }, - "source": [ - "# KinoML object model" - ] - }, - { - "cell_type": "markdown", - "id": "6a2dfe77-6493-4b81-80be-4f5d45304f84", - "metadata": {}, - "source": [ - "The KinoML object model provides access to binding affinity data in the context of machine learning for small molecule drug discovery (Fig. 1). The `DatasetProvider` is the central object for storing all relevant information of a dataset. It is essentially a list of `Measurement` objects, which contain the measured `values` (singlicate or replicates), associated to a `System` plus experimental `AssayCondition`s. A `System` is a list of `MolecularComponent` objects; usually a `Protein` and a `Ligand`. `Featurizer`s will use the input of the `MolecularComponent`s to represent the `System` in different formats for machine learning tasks, e.g. a `Ligand` as molecular fingerprint." - ] - }, - { - "cell_type": "markdown", - "id": "086fa441-42de-46cd-a7a5-3371de361fab", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/object_model.png) \n", - "**Fig. 2:** KinoML object model." - ] - }, - { - "cell_type": "markdown", - "id": "6529b16b-1738-476d-8982-ee53f9a361ea", - "metadata": {}, - "source": [ - "KinoML has a focus on protein kinases but the architecture is applicable to protein targets in general. When writing your own KinoML objects it is recommended to move computational expensive tasks to the `Featurizer` level, which is capable of multi-processing. For example `Protein` objects can be initialized with nothing else but a UniProt ID. The amino acid sequence will be fetched when the `Protein`'s `sequence` attribute is called for the first time. Thus, one can quickly generate many `Protein` objects and the more time-consuming sequence fetching is done with multi-processing during featurization." - ] - }, - { - "cell_type": "markdown", - "id": "5926f821-577b-40cf-b182-fc0ee554cafe", - "metadata": {}, - "source": [ - "In the following section, different KinoML objects will be introduced including code examples." - ] - }, - { - "cell_type": "markdown", - "id": "4bcf7ddd-2653-4ac0-85b9-81798471107d", - "metadata": { - "tags": [] - }, - "source": [ - "## Molecular components\n", - "\n", - "Molecular components like ligands and proteins store molecular representations, a `name` and additional `metadata`, that may be important for working with the data and provenance." - ] - }, - { - "cell_type": "markdown", - "id": "07b79cee-43b8-4475-a5a7-561407f2a5a9", - "metadata": {}, - "source": [ - "### Ligands\n", - "\n", - "Ligand objects store information about the molecular structure of a ligand, usually a small molecule with certain activity for a target. \n", - "\n", - "The `Ligand` object is based on the OpenFF-Toolkit `Molecule` [object](https://github.com/openforcefield/openff-toolkit/blob/master/openff/toolkit/topology/molecule.py), which can be accessed via the `molecule` attribute. This also allows usage of methods of the OpenFF-Toolkit `Molecule` including conversion to other toolkits, e.g. [RDKit](https://www.rdkit.org/docs/) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html). The `Ligand` object can be directly initialized via SMILES or file including interpretation of the given input, or lazely initialized via SMILES without any interpretation of the given input." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f72e0dab-aafb-460d-9b1f-f32fa84784cb", - "metadata": {}, - "outputs": [], - "source": [ - "from openff.toolkit.utils.exceptions import SMILESParseError\n", - "\n", - "from kinoml.core.ligands import Ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1672a883-5bb6-43c6-96a7-f904ddeef81c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n", - "CCC\n" - ] - } - ], - "source": [ - "# initialize a Ligand from SMILES, the molecule will be directly interpreted\n", - "ligand = Ligand.from_smiles(\"CCC\", name=\"propane\")\n", - "print(type(ligand))\n", - "print(type(ligand.molecule))\n", - "print(type(ligand.molecule.to_rdkit()))\n", - "print(ligand.molecule.to_smiles(explicit_hydrogens=False))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "48760c2f-cb72-4f80-a3a4-42339d3de3d7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# erroneous input will raise errors during initialization\n", - "try:\n", - " ligand = Ligand.from_smiles(\"XXX\", name=\"wrong_smiles\")\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ca7b3ada-7400-4259-8289-5ec7aee190c7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# Ligands can also be lazely initialized via SMILES\n", - "# here the interpretation is done when calling the molecule attribute for the first time\n", - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "print(type(ligand.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8aca1621-b2a0-4cf2-8439-7ad785079372", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ligand lazely initialized!\n", - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# this makes the object generation faster \n", - "# but will result in interpretation errors later, e.g. during a featurization step\n", - "# hence featurizers need to detect and remove those systems\n", - "ligand = Ligand(smiles=\"XXX\", name=\"wrong_smiles\")\n", - "print(\"Ligand lazely initialized!\")\n", - "try:\n", - " print(type(ligand.molecule))\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "markdown", - "id": "c9f26b15-eaee-451f-9545-3c09c8b1b2d0", - "metadata": {}, - "source": [ - "### Proteins\n", - "\n", - "Protein objects store information about the molecular structure of a protein, e.g. the target of a small molecule inhibitor.\n", - "\n", - "KinoML provides two different Protein objects, i.e. `Protein` (applicable to all proteins) and `KLIFSKinase` (allows access to information from the protein kinase-specific KLIFS database). Similar to `Ligand`, protein objects can be directly or lazily initialized.\n", - "\n", - "Again, the molecular structure is accessable via the `molecule` attribute. However, both protein objects support two toolkits, i.e. [MDAnalysis](https://docs.mdanalysis.org/stable/index.html) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html), which can be specified via the toolkit argument. A conversion from one toolkit to the other after initialization is currently not possible, but likely not needed anyway.\n", - "\n", - "Another important attribute of proteins is their `sequence`. Depending on the used featurizer, a molecular structure may actually not be required, for example in case of OneHotEncoding of the sequence. Hence, you can also initialize `Protein` and `KLIFSKinase` using sequence identifiers only, e.g. UniProt ID or NCBI ID. This is always done lazily, so the sequences will be fetched from the respective resource on the first call of the `sequence` attribute. `Protein` and `KLIFSKinase` inherit their sequence-related functionality from the `AminoAcidSequence` object in `kinoml.core.sequences`, which allows for further a customization of sequences, e.g. mutations. For more details have a look at the `AminoAcidSequence` class in the [respective section](https://openkinome.org/kinoml/api/kinoml/core/sequences/index.html) of the KinoML API documentation." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1fffad99-3307-48fb-a9b8-f887e995357d", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n" - ] - } - ], - "source": [ - "from kinoml.core.proteins import Protein, KLIFSKinase" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f1aa904b-6511-4b8a-acef-50a5e7f477e2", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# initialize from PDB ID with different toolkits\n", - "protein = Protein.from_pdb(\"4yne\", name=\"NTRK1\")\n", - "protein2 = Protein.from_pdb(\"4yne\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "print(type(protein.molecule))\n", - "print(type(protein2.molecule))\n", - "protein2" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "10cd6b48-f1d7-4fd3-8f38-5094755526ed", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# initialize lazily via PDB ID\n", - "protein = Protein(pdb_id=\"4nye\", name=\"NTRK1\")\n", - "print(type(protein.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "6cd65e0c-f2cf-452c-ad8b-0db2620bd655", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# note there is no sequence yet, since no UniProt ID was given\n", - "print(len(protein.sequence))\n", - "# but one could get it from the protein structure if needed" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "00499520-3d8c-4f77-8f6f-98682f47db62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MLRGGRRGQL\n", - "MLAGGRRGQL\n", - "\n" - ] - } - ], - "source": [ - "# initialize with sequence from UniProt\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(protein.sequence[:10])\n", - "# initialize with sequence from UniProt and custom mutations\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", metadata={\"mutations\": \"R3A\"})\n", - "print(protein.sequence[:10])\n", - "print(type(protein.molecule)) # a molecule is not available" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "94839c47-8b58-4ba3-8446-c9425ae3c9e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n" - ] - } - ], - "source": [ - "# get the kinase KLIFS pocket sequence via different identifiers (lazy)\n", - "kinase = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(ncbi_id=\"NP_001007793\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(kinase_klifs_id=480, name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)" - ] - }, - { - "cell_type": "markdown", - "id": "30dfcae2-24eb-4cfa-8243-61b842a27b33", - "metadata": {}, - "source": [ - "## Systems" - ] - }, - { - "cell_type": "markdown", - "id": "ffde61a8-a989-4cc7-9cd6-63dd2966932d", - "metadata": {}, - "source": [ - "Systems store all molecular components for a given activity data point. They may only contain a `Ligand` in case of purely ligand-based featurization but can also contain a `Protein`, i.e. `LigandSystem`, `ProteinSystem`, `ProteinLigandComplex`." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "b69b053a-34c4-496a-9556-6014b84b0b24", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.systems import LigandSystem, ProteinSystem, ProteinLigandComplex" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "d6252a11-a0c2-4271-bb9e-c631c47dfef3", - "metadata": {}, - "outputs": [], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "bf198411-2706-4aac-9d5f-76b949570c62", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = LigandSystem(components=[ligand])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "896d8887-9c47-40c3-87a8-3c1fe7526c84", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinSystem(components=[protein])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f10aaeac-f9eb-478e-94dd-1567bddc7d31", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinLigandComplex(components=[ligand, protein])\n", - "system" - ] - }, - { - "cell_type": "markdown", - "id": "19763f3a-0c52-49f6-8b17-a91716b3c567", - "metadata": {}, - "source": [ - "## Featurizers\n", - "\n", - "`Featurizer`s ingest `System`s to compute features for e.g. machine learning tasks. Systems failing during featurization will be removed, e.g. erroneous SMILES. Featurizations are stored in each system for later usage." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "b8f71ee1-eea6-4cfb-970f-e721ea447331", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "907f0b9b-e97f-4eba-acd1-19161336efe2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# generate systems with lazily initialized ligands\n", - "systems = [\n", - " LigandSystem(components=[Ligand(smiles=smiles, name=str(i))]) \n", - " for i, smiles in enumerate([\"C\", \"?\", \"CC\", \"CCC\"])\n", - "]\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "cdfb7e2a-7c86-4cd1-897a-a85fe564c4f8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: ?\n", - "Warning: ^\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# the featurization will lead to interpretation of the given SMILES for the first time\n", - "# failing systems will not be returned\n", - "featurizer = MorganFingerprintFeaturizer()\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "fac767ed-ec37-44a6-8a96-f744e2d7301e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0])}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# featurizations are stored in each system as a dict\n", - "# the lastly performed featurization is additionally stored with the \"last\" key\n", - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "fad90ed3-39d0-4ebe-9a37-2a6ac359152c", - "metadata": {}, - "source": [ - "## Measurements" - ] - }, - { - "cell_type": "markdown", - "id": "e6665be2-a51d-4e43-93b1-55040e0d3c4e", - "metadata": {}, - "source": [ - "`Measurement`s combine information for a given activity data point, i.e. `System`, `AssayCondition` and activity `values`. Currently available `Measurement` objects are `PercentageDisplacementMeasurement`, `pIC50Measurement`, `pKiMeasurement`, `pKdMeasurement`." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "7353e4db-4441-494c-af5d-8c7fecac16d1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.conditions import AssayConditions\n", - "from kinoml.core.measurements import PercentageDisplacementMeasurement" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "d6bca4e5-40e7-4b4d-84c5-cabba48959cb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "measurement = PercentageDisplacementMeasurement(\n", - " 10,\n", - " conditions=AssayConditions(pH=7.0),\n", - " system=ProteinLigandComplex(components=[ligand, protein]),\n", - ")\n", - "measurement" - ] - }, - { - "cell_type": "markdown", - "id": "666bac1e-6a67-44af-946f-70d3fd3a557d", - "metadata": {}, - "source": [ - "## DatasetProviders\n", - "\n", - "`DatasetProviders` are essentially a list of `Measurement`s, which can be used for machine learning experiments. `Featurizer`s can be passed to allow a featurization of all available `System`s. Currently, KinoML is shipped with `DatasetProvider`s for [PKIS2](https://doi.org/10.1371/journal.pone.0181585) and [ChEMBL](https://www.ebi.ac.uk/chembl/) datasets allowing quick experiment design." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "0db9d114-8f7f-41b2-a94d-bc6b9906dce1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.datasets.chembl import ChEMBLDatasetProvider\n", - "from kinoml.datasets.pkis2 import PKIS2DatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "4e0ce095-ee95-4896-912a-df82301592d9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# load data points given by the PKIS2 publication (https://doi.org/10.1371/journal.pone.0181585)\n", - "pkis2 = PKIS2DatasetProvider.from_source()\n", - "print(pkis2)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f89dcc94-bd34-48a1-b807-44b940b61d82", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b89a3b1bc95047658f2c635c58b233ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/190469 [00:00" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# load curated ChEMBL data points available at https://github.com/openkinome/kinodata\n", - "# here the more general \"Protein\" object will be used instead of the default \"KLIFSKinase\"\n", - "# also protein objects will be initialized with the MDAnalysis toolkit\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=(\"pIC50\", \"pKi\", \"pKd\"),\n", - " protein_type=\"Protein\",\n", - " toolkit=\"MDAnalysis\",\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0109aa8d-ed17-4d74-bd0c-27df666039f4", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f8e922d72ca4f5886727d3da11b372e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/100 [00:00" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# loading a smaller sample allows rapid testing\n", - "# loading now with default \"KLIFSKinase\" protein object\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=[\"pKi\"],\n", - " sample=100,\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "42da4de8-f4f9-4547-80b1-d146ecf40577", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# upper statement to hide warnings\n", - "# all systems will be successfully featurized\n", - "chembl.featurize(MorganFingerprintFeaturizer())\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "84bc3581-e429-4b0a-95e1-2f7ff40b4406", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.protein import OneHotEncodedSequenceFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "60071a64-86b9-49e0-a741-9f9f6563269f", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "There were 3 systems that could not be featurized!\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# not all systems maybe featurizable and will be removed, e.g. erroneous SMILES\n", - "# here certain ChEMBL data points are for kinases that are not available in KLIFS\n", - "chembl.featurize(OneHotEncodedSequenceFeaturizer(sequence_type=\"klifs_kinase\"))\n", - "chembl" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb deleted file mode 100644 index 777b9093..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-morgan1024-EGFR.ipynb +++ /dev/null @@ -1,12946 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ]\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}\n", - "#HERE = \".\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:16.674245\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4320db44cb294fb482898cbd05856b95", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'pIC50Measurement')\n", - "('valid', 'pKdMeasurement')\n", - "('valid', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:51:51.390702\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:51:51.400767+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:51:51 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 20W / 80W | 49MiB / 16384MiB | 17% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:59.212444\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "45d3b3578af9425a934b8a25e5b39d9f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2498±0.0533 95CI=(0.1692, 0.3305)\n", - " MSE: 0.1704±0.0794 95CI=(0.0651, 0.3030)\n", - " R2: 0.8635±0.0715 95CI=(0.7471, 0.9571)\n", - "RMSE: 0.4013±0.0969 95CI=(0.2551, 0.5504)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2738±0.0872 95CI=(0.1629, 0.4197)\n", - " MSE: 0.2104±0.1424 95CI=(0.0542, 0.4710)\n", - " R2: 0.7849±0.2243 95CI=(0.4298, 0.9582)\n", - "RMSE: 0.4323±0.1535 95CI=(0.2328, 0.6863)\n" - ] - }, - { - "data": { - "image/png": "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6emJxo0bG9S2TZs2yM3NhYuLCxo0aKC1TfPmzXH06FGMGDFCvezo0aM699mkSRN4eHhgz549GDNmTLn1ZffMSkpK1Mv8/PxQt25dXL16FcOGDdO637CwMHz22Wf466+/1KGprw4ia+ElRyIreOaZZxAREYGBAwfi22+/xbVr13D48GHMnj0bJ06cAAC8/vrrWLt2LdauXYuLFy8iPj4eP//8s859uru7Y/r06fj3v/+NTz/9FFeuXMHRo0exZs0aAICvry88PDywa9cu/P7771AqlQAePqydmJiI999/HxcvXsSZM2ewbt06vPvuuwCAoUOHwsnJCXFxcTh79ixSU1OxdOlSM/8LEVUeA43ICmQyGVJTU/H0009j9OjRaNq0KYYMGYJr167Bz88PADB48GDMnTsX06dPR9u2bXH9+nWMHz9e737nzJmDadOmYe7cuWjevDkGDx6MmzdvAgBcXFzwwQcfYNWqVQgMDMSzzz4LABgzZgw++eQTJCcno1WrVoiMjERycrK6m3/16tWxY8cOnD17FuHh4Zg1axaWLFlixn8dIuPIBC+QExGRBPAMjYiIJIGBRkREksBAIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGRESSwEAjIiJJYKAREZEk/B+wnZ9CyIFEmgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2216±0.0618 95CI=(0.1283, 0.3213)\n", - " MSE: 0.1199±0.0543 95CI=(0.0401, 0.2115)\n", - " R2: 0.8932±0.0709 95CI=(0.7751, 0.9764)\n", - "RMSE: 0.3358±0.0849 95CI=(0.2002, 0.4599)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2354±0.0052 95CI=(0.2264, 0.2442)\n", - " MSE: 0.1034±0.0058 95CI=(0.0939, 0.1138)\n", - " R2: 0.9486±0.0028 95CI=(0.9436, 0.9527)\n", - "RMSE: 0.3214±0.0089 95CI=(0.3065, 0.3373)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMDklEQVR4nO3deVzU1f4/8NewDYswisoqKu4i5L6g5r7gXt4ycwnNzExT0kq9qWDpRf12Xco0M1Nv5m1zyzJzxRVcQk3CFVFJIcQFFANh5vz+8DdzHWYGZobZ5/V8POZR85nz+cx7HOXF53zO5xyJEEKAiIjIzrlYuwAiIiJTYKAREZFDYKAREZFDYKAREZFDYKAREZFDYKAREZFDYKAREZFDYKAREZFDYKAREZFDYKCRXvbv349XX30VTZo0gY+PD0JDQzFkyBD89ttvau3kcjmWLFmCmJgY1KpVC97e3mjatClmzpyJ+/fvaz329evX8eqrryIkJARSqRShoaF4/vnn1dr8+eefiIuLQ9euXVG1alVIJBKsX7/eLJ9VIpFg8uTJGtv/+usvzJw5E1FRUahSpQo8PT3RsGFDTJ06FZcvX1a1W79+PSQSidZHTk6OxnH37t2L6OhoeHt7o0aNGhgzZgxyc3PV2iQlJamOoetz9+jRAxKJBHXr1q3U56fKO3bsGBISEnT+nSfzYKCRXlatWoVr165h6tSp2LlzJ5YvX47c3Fx06NAB+/fvV7X7+++/kZCQgDp16mDZsmXYuXMnxo8fj88//xydOnXC33//rXbctLQ0tG7dGmlpafjoo4+wZ88eLFmyBNWqVVNrd+XKFXz99dfw8PBA//79LfKZn3bixAlERUVh7dq1eOGFF7Blyxbs2rUL77zzDlJTU9GuXTuNfdatW4fk5GS1R/Xq1dXaHDx4EP369UNgYCC2b9+O5cuXY+/evejZsyeKi4s1junr64u1a9dqbM/MzERSUhL8/PxM96HJaMeOHcO8efMYaJYmiPTw119/aWx78OCBCAwMFD179lRtKy0tFXl5eRptv//+ewFAfPXVV6ptCoVCtGjRQrRo0UIUFRWV+/5yuVz1/ydPnhQAxLp164z4JBUDICZNmqR6np+fL4KCgkRYWJjIysrSus/333+v+v9169YJAOLkyZMVvlfbtm1FRESEKCkpUW07evSoACBWrlyp2nbgwAEBQLz22msCgLh06ZLacWbPni1q1aol+vXrJ+rUqaPvR7VJjx8/VvvzsEf/93//JwCIzMxMa5fiVHiGRnoJCAjQ2FalShVEREQgKytLtc3V1VXjLASA6gzm6baHDh3CmTNnEBcXB6lUWu77u7hU7q9qt27dEBkZicOHD6NDhw7w8vJCaGgo5syZA7lcXu6+a9asQU5ODhYvXoxatWppbfPCCy8YXNPNmzdx8uRJjB49Gm5ubqrtHTt2RKNGjbB161aNfXr37o2wsDB8+eWXqm0KhQIbNmxAbGys1j8nIQRWrlyJFi1awMvLC9WqVcMLL7yAq1evqrXbs2cPhgwZglq1asHT0xMNGjTAhAkTkJeXp9bu9u3beP311xEWFgapVIqaNWuiU6dO2Lt3r6pN3bp1MWbMGI1aunXrhm7duqmeK7tSv/rqK0yfPh2hoaGQSqW4cuUKAKjOVv38/ODt7Y1OnTph3759asdMSEiARCLB77//jhdffBEymQz+/v6YNm0aSktLcfHiRcTExMDX1xd169bF4sWLNeoqKCjAO++8g/DwcHh4eCA0NBRxcXEoLCxUa6fsjv7qq6/QtGlTeHt7o3nz5vjpp5/U6nn33XcBAOHh4aqu4qSkJI33JdNioJHR8vPzkZqaimbNmlXYVtkt+XTbQ4cOAXjSjda/f394enqiSpUqGDhwIC5cuGDyenNycjB8+HCMHDkS27dvxwsvvID58+dj6tSp5e63e/duuLq6YtCgQQa938CBA+Hq6gp/f38MHToUaWlpaq8rnz/zzDMa+z7zzDMa7YEnwT5mzBj85z//UQXx7t278eeff2Ls2LFa65gwYQLi4uLQq1cvbNu2DStXrsQff/yBjh074q+//lK1y8jIQHR0NFatWoXdu3dj7ty5OH78ODp37oySkhJVu9GjR2Pbtm2YO3cudu/ejS+++AK9evXCnTt3DPrzedqsWbNw48YNfPbZZ9ixYwcCAgKwceNG9OnTB35+ftiwYQO+++47+Pv7o2/fvhqhBgDDhg1D8+bNsXnzZowfPx5Lly7F22+/jeeeew4DBgzA1q1b0aNHD8yYMQNbtmxR7ffo0SN07doVGzZswJQpU/DLL79gxowZWL9+PQYPHgxRZkGSn3/+GStWrMAHH3yAzZs3w9/fH88//7zqF4TXXnsNb731FgBgy5Ytqu7mVq1aGf3nQ3qy9iki2a+RI0cKNzc3cerUqXLb/fnnnyIwMFC0adNGretwwoQJAoDw8/MT48aNE3v37hVfffWVqFOnjqhRo4a4deuW1uMZ0+XYtWtXAUBs375dbfv48eOFi4uLuH79umobynQ5NmnSRAQFBen9Xr/88ot4//33xY4dO8TBgwfFihUrRK1atYSPj484c+aMqt3XX38tAIjk5GSNY7z++uvCw8ND9VzZ5fj999+Lq1evColEIn766SchhBAvvvii6NatmxBCiAEDBqh1OSYnJwsA4t///rfa8bOysoSXl5d47733tH4GhUIhSkpKxPXr1zX+3KpUqSLi4uLK/TOoU6eOiI2N1djetWtX0bVrV43P1aVLF7V2hYWFwt/fXwwaNEhtu1wuF82bNxft2rVTbYuPj9f6GVu0aCEAiC1btqi2lZSUiJo1a4qhQ4eqtiUmJgoXFxeNLuIffvhBABA7d+5UbQMgAgMDRUFBgWpbTk6OcHFxEYmJiapt7HK0Dp6hkVHmzJmDr7/+GkuXLkXr1q11trt79y769+8PIQS+/fZbtS4xhUIBAIiOjsYXX3yBnj17YtSoUdi2bRvy8vLw6aefmrRmX19fDB48WG3biBEjoFAoVGeLphATE4P58+dj4MCB6NKlCyZNmoTDhw9DIpFg7ty5Gu0lEonW4+jaHh4ejm7duuHLL7/EnTt3sH37drz66qta2/7000+QSCQYNWoUSktLVY+goCA0b95crRssNzcXb7zxBsLCwuDm5gZ3d3fUqVMHAHD+/HlVu3bt2mH9+vWYP38+UlJS1M7ejPWPf/xD7fmxY8dw9+5dxMbGqtWtUCgQExODkydPanQHDhw4UO1506ZNIZFI0K9fP9U2Nzc3NGjQANevX1f7M4qMjESLFi3U3qtv375auwq7d+8OX19f1fPAwEAEBASoHZOsw63iJkTq5s2bh/nz52PBggVah7cr3bt3D71798bNmzexf/9+1KtXT+115bW2vn37qm1v0aIFgoODkZqaatK6AwMDNbYFBQUBQLndZbVr18bly5dRWFgIHx8fo967bt266Ny5M1JSUlTblJ9f23vfvXsX/v7+Oo83btw4jB07FkuWLIGXl5fOa3h//fUXhBBaPzsA1XeiUCjQp08f3Lp1C3PmzEFUVBR8fHygUCjQoUMHtdGp3377LebPn48vvvgCc+bMQZUqVfD8889j8eLFqj9PQwUHB2vUDZR/bfLu3btq30fZPy8PDw94e3vD09NTY3tBQYHae125cgXu7u5a36fsNURt14ilUqnGCF6yPAYaGWTevHlISEhAQkIC/vnPf+psd+/ePfTq1QuZmZnYt2+fzutEugghKj0QpKynrxcpKe8L0/ZDSqlv377YvXs3duzYgeHDhxv9/mU/U2RkJADg3LlzGrcinDt3TvW6NkOHDsWkSZOwcOFCjB8/Hl5eXlrb1ahRAxKJBIcPH9Y68Ea5LS0tDWfPnsX69esRGxurel05OKPsMZctW4Zly5bhxo0b+PHHHzFz5kzk5uZi165dAABPT0+ttx3k5eWhRo0aGtvLno0q23zyySfo0KGD1s+mK6QNVaNGDXh5eakNtNFWC9k+djmS3j788EMkJCRg9uzZiI+P19lOGWZXr17F7t270bJlS63t+vXrB29vb/zyyy9q21NTU5GTk6PzB5mxHjx4gB9//FFt26ZNm+Di4oIuXbro3G/cuHEICgrCe++9h5s3b2pt8/QgA20yMzNx9OhRtc8UGhqKdu3aYePGjWojLVNSUnDx4kUMHTpU5/G8vLwwd+5cDBo0CBMnTtTZbuDAgRBC4ObNm2jTpo3GIyoqCsD/AqVs6K1evbrcz1W7dm1MnjwZvXv3Vjujrlu3Ln7//Xe1tpcuXcLFixfLPZ5Sp06dULVqVaSnp2utu02bNvDw8NDrWBUZOHAgMjIyUL16da3vY8yN6so/R561WRbP0Egv//73vzF37lzExMRgwIABal1nAFQ/qP/++2/07dsXp0+fxrJly1BaWqrWtmbNmqhfvz4AoGrVqvjggw/wzjvvYMyYMXj55ZeRk5ODOXPmoHbt2njzzTfV3uOHH34AANVoslOnTqFKlSoA9Bs2X716dUycOBE3btxAo0aNsHPnTqxZswYTJ05E7dq1de4nk8mwfft2DBw4EC1btsTkyZMRHR0NDw8PXL58GRs3bsTZs2dVAdSrVy906dIFzzzzDPz8/HDu3DksXrwYEokEH374odqxFy1ahN69e+PFF1/Em2++idzcXMycORORkZE6Ry0qTZs2DdOmTSu3TadOnfD6669j7NixOHXqFLp06QIfHx9kZ2fjyJEjiIqKwsSJE9GkSRPUr18fM2fOhBAC/v7+2LFjB/bs2aN2vPz8fHTv3h0jRoxAkyZN4Ovri5MnT2LXrl1qATx69GiMGjUKb775Jv7xj3/g+vXrWLx4MWrWrFluvUpVqlTBJ598gtjYWNy9excvvPACAgICcPv2bZw9exa3b9/GqlWr9DpWReLi4rB582Z06dIFb7/9Np555hkoFArcuHEDu3fvxvTp09G+fXuDjqn8RWH58uWIjY2Fu7s7GjdurHbtjczAmiNSyH4oRwnqeihlZmaW207byLc1a9aIyMhI4eHhIapXry5Gjhyp9QZmfd6/vPqbNWsmkpKSRJs2bYRUKhXBwcHin//8p8ZNvCgzylEpJydHzJgxQzRr1kx4e3sLqVQqGjRoICZMmCDOnTunahcXFyciIiKEr6+vcHNzEyEhIWLUqFHi4sWLWmvbvXu36NChg/D09BT+/v7ilVde0biR/elRjuUpO8pR6csvvxTt27cXPj4+wsvLS9SvX1+88soraiNU09PTRe/evYWvr6+oVq2aePHFF8WNGzcEABEfHy+EEKKoqEi88cYb4plnnhF+fn7Cy8tLNG7cWMTHx4vCwkLVsRQKhVi8eLGoV6+e8PT0FG3atBH79+/XOcpR1+c6ePCgGDBggPD39xfu7u4iNDRUDBgwQK29cpTj7du31faNjY0VPj4+GsdU/l142sOHD8Xs2bNF48aNhYeHh5DJZCIqKkq8/fbbIicnR9VO198NbaM6Z82aJUJCQoSLi4sAIA4cOKD1M5LpSIQoc5MFkQPq1q0b8vLytN7bRUSOgdfQiIjIITDQiIjIIbDLkYiIHALP0IiIyCEw0IiIyCEw0IiIyCE4/I3VCoUCt27dgq+vr87JXomIyHYJIfDgwQOEhISUOyWewwfarVu3EBYWZu0yiIiokrKysnQusgs4QaApp5rJysqCn5+flashIiJ9JGfcwaRNqXhcqkB0mBe+mz6owqnDHD7QlN2Mfn5+DDQiIjtw5HIepmy+gFJXT/RuFoCFgxvgu+m61whU4qAQIiKyGUcu52HchpMoLlWgZ5MArBzVClI3V732ZaAREZFNeDrMehgYZgADjYiIbEDZM7NVBoYZwEAjIiIrq0w349MYaEREZDVHr5gmzAAGGhERWcnRK3l4db1pwgxgoBERkRWYOswABhoREVmYOcIMYKAREZEFmSvMAAYaERFZiDnDDGCgERGRBZg7zAAGGhERmdmRy+YPM4CBRkREZmSqm6b1wUAjIiKzsGSYAQw0IiIyA0uHGcBAIyIiE7NGmAEMNCIiMqHKLgFTGQw0IiIyCVMsAVMZDDQiIqo0a3UzPo2BRkRElWLKJWAqg4FGRERGs8QMIPpioBERkVFsKcwABhoRERnB1sIMYKAREZGBbDHMAAYaEREZwFbDDGCgERGRnmw5zAAGGhER6cHWwwxgoBERUQXsIcwABhoREZXDXsIMYKAREZEO9hRmAAONiIi0sLcwAxhoRERUhj2GGWDlQDt06BAGDRqEkJAQSCQSbNu2TWfbCRMmQCKRYNmyZRarj4jI2dhrmAFWDrTCwkI0b94cK1asKLfdtm3bcPz4cYSEhFioMiIi52PPYQYAbtZ88379+qFfv37ltrl58yYmT56MX3/9FQMGDLBQZUREzsXewwywcqBVRKFQYPTo0Xj33XfRrFkzvfYpLi5GcXGx6nlBQYG5yiMicgiOEGaAjQ8KWbRoEdzc3DBlyhS990lMTIRMJlM9wsLCzFghEZF9c5QwA2w40H777TcsX74c69evh0Qi0Xu/WbNmIT8/X/XIysoyY5VERPbLkcIMsOFAO3z4MHJzc1G7dm24ubnBzc0N169fx/Tp01G3bl2d+0mlUvj5+ak9iIhInaOFGWDD19BGjx6NXr16qW3r27cvRo8ejbFjx1qpKiIi++eIYQZYOdAePnyIK1euqJ5nZmbizJkz8Pf3R+3atVG9enW19u7u7ggKCkLjxo0tXSoRkUNw1DADrBxop06dQvfu3VXPp02bBgCIjY3F+vXrrVQVEZFjcuQwA6wcaN26dYMQQu/2165dM18xREQOzNHDDLDhQSFERGQazhBmAAONiMihOUuYAQw0IiKH5UxhBjDQiIgckrOFGcBAIyJyOM4YZgADjYjIoThrmAEMNCIih+HMYQYw0IiIHIKzhxnAQCMisnsMsycYaEREduzIZYaZEgONiMhOHbmch3EbGGZKDDQiIjvEMNPEQCMisjMMM+0YaEREdoRhphsDjYjITjwdZj0YZhoYaEREdqDsmdkqhpkGBhoRkY1jN6N+GGhERDbs6BWGmb4YaERENoozgBiGgUZEZIMYZoZjoBER2RiGmXEYaERENoRhZjwGGhGRjWCYVQ4DjYjIBjDMKo+BRkRkZVwCxjQYaEREVsSbpk2HgUZEZCUMM9NioBERWQHDzPQYaEREFsYwMw8GGhGRBXEJGPNhoBERWQiXgDEvBhoRkQWwm9H8GGhERGbGJWAsg4FGRGRGnAHEcqwaaIcOHcKgQYMQEhICiUSCbdu2qV4rKSnBjBkzEBUVBR8fH4SEhOCVV17BrVu3rFcwEZEBGGaWZdVAKywsRPPmzbFixQqN1x49eoTU1FTMmTMHqamp2LJlCy5duoTBgwdboVIiIsMwzCxPIoQQ1i4CACQSCbZu3YrnnntOZ5uTJ0+iXbt2uH79OmrXrq3XcQsKCiCTyZCfnw8/Pz8TVUtEpBvDzLT0/TnuZsGaKi0/Px8SiQRVq1bV2aa4uBjFxcWq5wUFBRaojIjoCYaZ9djNoJCioiLMnDkTI0aMKDehExMTIZPJVI+wsDALVklEzoxhZl12EWglJSUYPnw4FAoFVq5cWW7bWbNmIT8/X/XIysqyUJVE5MwYZtZn812OJSUlGDZsGDIzM7F///4Kr4NJpVJIpVILVUdExDCzFTYdaMowu3z5Mg4cOIDq1atbuyQiIjUMM9th1UB7+PAhrly5onqemZmJM2fOwN/fHyEhIXjhhReQmpqKn376CXK5HDk5OQAAf39/eHh4WKtsIiIADDNbY9Vh+0lJSejevbvG9tjYWCQkJCA8PFzrfgcOHEC3bt30eg8O2ycic2CYWY5dDNvv1q0bystTG7lFjogsQK4QOJF5F7kPihDg64l24f5wdZFYuyytGGa2yaavoRGRc9iVlo15O9KRnV+k2hYs80T8oAjERAZbsTJNDDPbZRfD9onIce1Ky8bEjalqYQYAOflFmLgxFbvSsq1UmSaGmW1joBGR1cgVAvN2pEPbxQXltnk70iFXWP/yA8PM9jHQiMhqTmTe1Tgze5oAkJ1fhBOZdy1XlBYMM/vAQCMiq8l9oDvMjGlnDgwz+8FAIyKrCfD1NGk7U2OY2RcGGhGZjFwhkJxxB9vP3ERyxp0Kr321C/dHsMwTugbnSwAE+UmhEELvY5oKw8z+cNg+EZmEMUPvXV0kiB8UgYkbUyEB1AaHKJ8XlSow8ovjeh/TFBhm9olnaERUaZUZeh8TGYxVo1ohSKberSjzdgcA3H9UYvAxK4NhZr9sZsVqc+HUV0TmJVcIdF60X+doRQmAIJknjszoUe7MH0/PFFLDR4rp359FTkHljmkohplt0vfnOM/QiKhSTDX03tVFguj61TGkRShcXCQ6w8yQYxqCYWb/GGhEVCnmGHpv6eH8DDPHwEAjokoxx9B7Sw7nZ5g5DgYaEVWKPkPvg2VPZs+35jG1YZg5FgYaEVWKcug9AI0AUj6PHxRh0OANcxyzLIaZ42GgEVGl6Rp6HyTzxKpRrYy6Z8wcx1RimDkmDtsnIpMxxyKdpj4mw8z+2MWK1UTkWJRD7231mAwzx8YuRyJyCgwzx8czNCKyO4Z2QzLMnAMDjYjsiqGTIB+5nIdxGxhmzoBdjkRkNwydBJlh5lwYaERkF+QKgXk70qFtWLZy27wd6ar10hhmzoddjkRkFwyZBFmuEAwzJ8RAIyK7oO9ExIcv38baI5kMMyfEQCMiu6DvRMRrDl9FiVygB8PM6fAaGhHZhYomLFYqkQv0bBKAVQwzp8NAIyK7UN6ExU9jN6PzYqARkd3QNWGxEsPMufEaGhFZhbGTDsdEBqN3RBBOZN7F4cu3VdfMGGbEQCMig1V2BnxDZ/soy9VFAoUQWHskk2FGKgw0IjJIZcNIOdtH2RuklbN96LPWGedmJG14DY2I9Gbo1FNlGTrbhzYMM9KFgUZEenlcqsA/t6ZVGEaPSxVIzriD7WduIjnjjlo4GTLbhzYMMyqPVQPt0KFDGDRoEEJCQiCRSLBt2za114UQSEhIQEhICLy8vNCtWzf88ccf1imWyIntSstGh8S9uFv4WGcbZRh1SNyHl9ekYOo3Z/DymhR0XrRfdeam72wf2toxzKgiVg20wsJCNG/eHCtWrND6+uLFi7FkyRKsWLECJ0+eRFBQEHr37o0HDx5YuFIi56XsZrxbWKJX+7Kh93R3pL6zfZRtd+Qyw4wqZtVBIf369UO/fv20viaEwLJly/D+++9j6NChAIANGzYgMDAQmzZtwoQJEyxZKpFTKu+al74EntwIPW9HOg6+2x1Vvd1x/5H2cJQACJI9GTWpxFnzSV82ew0tMzMTOTk56NOnj2qbVCpF165dcezYMZ37FRcXo6CgQO1BRMap6JqXvpTdkauSrugMM2W7+EERqlsAGGZkCJsNtJycHABAYGCg2vbAwEDVa9okJiZCJpOpHmFhYWatk8iR6XvNS1/rjl4r9/Wq3u7oHREEgGFGhrPZQFOSSNRv1hRCaGx72qxZs5Cfn696ZGVlmbtEIoel7zUvfd3/u/zrcPcfleBE5l2GGRnFZm+sDgp68ltaTk4OgoP/d5Nlbm6uxlnb06RSKaRSqdnrI3IGyhnuc/KLKnUdzRBPr2fGJWDIEDZ7hhYeHo6goCDs2bNHte3x48c4ePAgOnbsaMXKiJyHvjPcm9Kaw1dVZ2ZcAoYMYdVAe/jwIc6cOYMzZ84AeDIQ5MyZM7hx4wYkEgni4uLwr3/9C1u3bkVaWhrGjBkDb29vjBgxwpplEzmVima4NzXOzUjGkgghLNWToCEpKQndu3fX2B4bG4v169dDCIF58+Zh9erVuHfvHtq3b49PP/0UkZGRer9HQUEBZDIZ8vPz4efnZ8ryiZyKckLio1duY8WBDLO9D8OMytL357hVA80SGGhE2hkyY/7TbWtUkWL6d2eQU1Bs8poYZqSNvj/HbXZQCBGZjyEz5mtrW9Xb3WS1uEgAhWCYUeUx0IicTEXLt3w6ohWq+Xgg90ERruU9wrK9lzTalndztKEUAhzNSCbBQCNyIvos3zJpk2bYmduYjnUZZlRpNjtsn4hMT5+prKxxUf3eI92z+BPpi4FG5ERMPZWVqZh6RhJyTuxyJHIithYc2mbXJzIWz9CInIhyKitLzfpRkbKz6xNVBgONyIk8PZWVLXi1U12N2wSIjMVAI3JCMhPeR1YZyqViiEyB19CInIiue9CsIZjXzsjEGGhETkCuEEi5egczN5+ziTCTgNfOyPQYaEQOTtvUVdYU5CdFwuBmvHZGJsdAI3JgttTFCABv92qEyT0a8MyMzIKBRuSgypvmyhpeaBWKqb0aWrsMcmAMNCI7VdHyL/pMc2VJnRrUsHYJ5OAYaER2SJ/lX2xtmqsgmZe1SyAHx/vQiOyM8rpY2bMv5fIvu9KyAdjWNFccok+WwEAjsiP6LP8yb0c6HpcqUFqqgI+HbSzJwiH6ZAnsciSyIxVdFxMAsvOL0PLD3SgslluusHKsGN6SQ/TJIvQOtI8//ljvg06ZMsWoYoiofPpeF7OVMOsXGYSBLUKsXQY5Cb0DbenSpWrPb9++jUePHqFq1aoAgPv378Pb2xsBAQEMNCIzkCsE8h4UW7sMg8REcq5Gshy9Ay0zM1P1/5s2bcLKlSuxdu1aNG7cGABw8eJFjB8/HhMmTDB9lUROztZm+9CXLQ1MIccnEUIYfN9l/fr18cMPP6Bly5Zq23/77Te88MILauFnbQUFBZDJZMjPz4efn5+1yyEymK3N9qGvYJknjszowcEgVGn6/hw3apRjdnY2SkpKNLbL5XL89ddfxhySiLSwtdk+DMGRjWRpRgVaz549MX78eJw6dQrKE7xTp05hwoQJ6NWrl0kLJHJmtjbbh77e7tWQIxvJ4owKtC+//BKhoaFo164dPD09IZVK0b59ewQHB+OLL74wdY1ETsvWZvvQV90aPtYugZyQUfeh1axZEzt37sSlS5dw4cIFCCHQtGlTNGrUyNT1ETk1ex1UYa91k32r1I3VdevWhRAC9evXh5sb79EmMrV24f4IlnnaTbejBEAQp7kiKzGqy/HRo0cYN24cvL290axZM9y4cQPAkxuqFy5caNICiZyZq4sEcwZEWLsMg3AwCFmLUYE2a9YsnD17FklJSfD0/F/XQq9evfDtt9+arDgiAqr5eFi7BL34+7hj1ahWHAxCVmNUP+G2bdvw7bffokOHDpBI/vebWEREBDIyMkxWHJGz0bbGmT0MDKnu44HkWT3h4cb5zsl6jAq027dvIyAgQGN7YWGhWsARkf50rXE2vG1tK1ZVPuW/9gXPRzLMyOqM+hvYtm1b/Pzzz6rnyhBbs2YNoqOjTVMZkQOSKwSOXsnDR79exEe/XsDRy3mQK0S5a5wt23sJVb3drVRx+YJknuxmJJth1BlaYmIiYmJikJ6ejtLSUixfvhx//PEHkpOTcfDgQZMVV1paioSEBHz99dfIyclBcHAwxowZg9mzZ8PFhb8Nkn3ZlZaNmVvO4f6j/82ys+JABqp6uQESSblrnBU9to3Z84P8pPj3sBbIe1is6hLlABCyFUYFWseOHXH06FF89NFHqF+/Pnbv3o1WrVohOTkZUVFRJitu0aJF+Oyzz7BhwwY0a9YMp06dwtixYyGTyTB16lSTvQ+Rue1Ky8YbG1O1vnb/79IK9y8qVZi6JKMkDG6GTg1qWLsMIq2MvnksKioKGzZsMGUtGpKTkzFkyBAMGDAAwJP73v773//i1KlTZn1fIlOSKwQSfky3dhmVxumsyNYZ1W/XvXt3rF27Fvn5+aauR03nzp2xb98+XLp0CQBw9uxZHDlyBP379zfr+xKZ0onMu8gpsP2RiuXx9nBFbX9vJGfcgVxhj1MlkzMw6gwtKioKs2fPxuTJk9G/f3+MHj0a/fv3h4eHae+XmTFjBvLz89GkSRO4urpCLpdjwYIFePnll3XuU1xcjOLi/y2CWFBQYNKaiAxlD8PuK/LosRxvf3cWwJORl/GDIni2RjbHqDO0jz/+GDdv3sT27dvh6+uL2NhYBAUF4fXXXzfpoJBvv/0WGzduxKZNm5CamooNGzbgo48+KrerMzExETKZTPUICwszWT1ExnC0eQ1z8oswcWMqdqVlW7sUIjVGLfBZVlFREXbs2IEFCxbg3LlzkMtNMyIrLCwMM2fOxKRJk1Tb5s+fj40bN+LChQta99F2hhYWFsYFPsnstN0U7eoigVwh0Gnhfrvvdnyacs5GLuBJlqDvAp+VnlE4JycH33zzDTZu3Ijff/8dbdu2rewhVR49eqQxPN/V1RUKhe4RX1KpFFKp1GQ1EOlD103Ryq65IS2CsfqQ7azkXpFaVT3x533dASwAZOcX4UTmXUTXr265wojKYVSgFRQUYPPmzdi0aROSkpJQr149jBgxAt988w0aNGhgsuIGDRqEBQsWoHbt2mjWrBlOnz6NJUuW4NVXXzXZexBVlvKm6LJdHcquude7hONzOwozAOWG2dMc4fogOQ6juhy9vLxQrVo1DBs2DCNHjjTpWdnTHjx4gDlz5mDr1q3Izc1FSEgIXn75ZcydO1fvASj6nqoSGUOuEOi8aH+5y7u4SABHHRj43/EdeIZGZqfvz3GDA00IgTVr1mDUqFHw9vaudKHmxkAjc0rOuIOX16RYuwyL4zU0siR9f44bPMpRCIHJkyfj5s2blSqQyBE4Q5db2bhSPue6Z2RrDA40FxcXNGzYEHfu3DFHPUR2xdGG5Jf1dq9GCJKpf0ZOSEy2yqhBIYsXL8a7776LVatWITIy0tQ1EdmNduH+CJZ5Iie/SOvkwoB9XkNTdilO7tEAk3s00Ho7ApGtMWpQSLVq1fDo0SOUlpbCw8MDXl5eaq/fvXvXZAVWFq+hkbkpRzkCUAs15Y/8iBBf/HHrgcXrMpaybp6Fka0w631oy5YtM7YuIruk66ZpAIiJDMaqUa007kMLknlicHP7uv8MeFI3p7Yie2SSmUJsGc/QqLIqumlaqWzota5TDV3/70C5Q/pthb+PB+YMaIogmRe7FMnmmH2mkIyMDKxbtw4ZGRlYvnw5AgICsGvXLoSFhaFZs2bGHpbIplR00/TT3XKuLhK1e7KSM+7YRZgBwL+ej+QZGdk9oyYnPnjwIKKionD8+HFs2bIFDx8+BAD8/vvviI+PN2mBRNYiVwjM25Fe7krS83ak61xOZW96jtlqIyJNRgXazJkzMX/+fOzZs0dtxo7u3bsjOTnZZMURWdOJzLvlnmE9PZ9hWbvSsrH26DXzFWdCEpQfzET2wqgux3PnzmHTpk0a22vWrMn708hh6HvTdO6DIsgVAilX7yA54w4EBDYdv27m6kyHEw2TozAq0KpWrYrs7GyEh4erbT99+jRCQ0NNUhiRtel70/S1vEdo9eFu5P9dauaKzMsZZj0hx2ZUl+OIESMwY8YM5OTkQCKRQKFQ4OjRo3jnnXfwyiuvmLpGIqtQ3jSta7yfBEBVb3cs3XvJ7sMMcPxZT8jxGRVoyiVdQkND8fDhQ0RERKBLly7o2LEjZs+ebeoaiazC1UWC+EERALTPZygAPHpsmsVsrUmCJ7chtAv3t3YpRJVSqfvQrl69itTUVCgUCrRs2RINGzY0ZW0mwfvQqLJ03YfWqnZV/HzOMUYyfsZZQciGWWTF6nr16qFevXqQy+U4d+4c7t27h2rVqlXmkEQ2JyYyGL0jgjRumm75wW5rl2YSVb3d0TsiyNplEFWaUV2OcXFxWLt2LQBALpeja9euaNWqFcLCwpCUlGTK+ohsgvKm6SEtQhFdvzp+u34PhQ7Q3QgA9x+VaL31gMjeGBVoP/zwA5o3bw4A2LFjB65evYoLFy4gLi4O77//vkkLJLI1coXA0St51i7DpDjCkRyBUYGWl5eHoKAnXRQ7d+7EsGHD0KhRI4wbNw7nzp0zaYFEtmRXWjY6L9qPFQeuWLsUk+IIR3IERgVaYGAg0tPTIZfLsWvXLvTq1QsA8OjRI7i6upq0QCJbIFcILN97CW9sTLWb+Rn1wRGO5EiMGhQyduxYDBs2DMHBwZBIJOjduzcA4Pjx42jSpIlJCySytl1p2Uj4MR05BY4TZMD/bkWIHxTB2fXJIRgVaAkJCYiMjERWVhZefPFFSKVSAICrqytmzpxp0gKJrEnXbPv2pKq3O15qUws/ns3WWK+N656RI+F6aEQ6yBUCnRftt9suxqpe7hjbKRyTezSAq4uk3EVKiWyZ2e9D27dvH5YuXYrz589DIpGgSZMmiIuLU11PI7J3Fc22b+s+HdEKnRrWUD0vu14bkaMxalDIihUrEBMTA19fX0ydOhVTpkyBn58f+vfvjxUrVpi6RiKrsPeh7HmFxdYugciijDpDS0xMxNKlSzF58mTVtilTpqBTp05YsGCB2nYie2XvQ9ntvX4iQxl1hlZQUICYmBiN7X369EFBQUGliyKyJrlCIDnjDnLy/0YVaaVmh7MKDsUnZ2XUv9bBgwdj69atePfdd9W2b9++HYMGDTJJYUSWpBwwsSc9B9vO3MLdwsfWLskoHIpPzkzvQPv4449V/9+0aVMsWLAASUlJiI6OBgCkpKTg6NGjmD59uumrJDIjbbPp2ysOxSdnpvew/bKrU+s8oESCq1evVqooU+KwfSrPzt9v4c1Np61dRqXMGdAUNXylHIpPDsvkw/YzMzM1tuXl5UEikaB6dQ4FJvuz8/dsTP6vfYcZANTwlWJIi1Brl0FkdQYPCrl//z4mTZqEGjVqIDAwEAEBAahRowYmT56M+/fvm6FEItPblZaNNzelQuEA0wpwNCPREwYNCrl79y6io6Nx8+ZNjBw5Ek2bNoUQAufPn8f69euxb98+HDt2jIt8kk2TKwTm7Ui3dhmVJsGTa2YczUj0hEGB9sEHH8DDwwMZGRkIDAzUeK1Pnz744IMPsHTpUpMWSWRK9j4DCMDRjETaGNTluG3bNnz00UcaYQYAQUFBWLx4MbZu3Wqy4ojM4YvDGdYuQW8SPJlcOMhPvVsxSOaJVaNacTQj0VMMOkPLzs5Gs2bNdL4eGRmJnJycShf1tJs3b2LGjBn45Zdf8Pfff6NRo0ZYu3YtWrdubdL3IeeQuDMd+y7ctnYZBlk4NAq9I4I4sTBRBQwKtBo1auDatWuoVauW1tczMzNNOuLx3r176NSpE7p3745ffvkFAQEByMjIQNWqVU32HuQ8HpcqsOaw5mhdWxXkJ0XC4GaqszBOLExUPoMCLSYmBu+//z727NkDDw8PtdeKi4sxZ84crVNiGWvRokUICwvDunXrVNvq1q1rsuOTYyu7XErazft2M6rx7V6NVMu+EJF+DFoP7c8//0SbNm0glUoxadIk1erU6enpWLlyJYqLi3Hq1CmEhYWZpLiIiAj07dsXf/75Jw4ePIjQ0FC8+eabGD9+vN7H4I3Vzknb7B/eHq549FhuxaoqFsyZPog06Ptz3OAFPjMzM/Hmm29i9+7dUO4qkUjQu3dvrFixAg0aNKhc5U/x9HxyIXzatGl48cUXceLECcTFxWH16tV45ZVXtO5TXFyM4uL/LZtRUFCAsLAwBpoTsddVpid3b4C3ezfiWRlRGWYLNKV79+7h8uXLAIAGDRrA39/098J4eHigTZs2OHbsmGrblClTcPLkSSQnJ2vdJyEhAfPmzdPYzkBzDva8yvR/x3fgdTIiLfQNNKOWjwGAatWqoV27dmjXrp1ZwgwAgoODERERobatadOmuHHjhs59Zs2ahfz8fNUjKyvLLLWRbbLXe8yCZZ5oXacakjPuYPuZm0jOuAO5vVzwI7IRNr3YU6dOnXDx4kW1bZcuXUKdOnV07iOVSiGVSs1dGtkoe1xlWgJgcPNgdP2/A2phzOtpRIYx+gzNEt5++22kpKTgX//6F65cuYJNmzbh888/x6RJk6xdGtkoe5vXMFjmide7hOPzQ5kaZ5Y5+UWYuDEVu9KyrVQdkX2x6TO0tm3bYuvWrZg1axY++OADhIeHY9myZRg5cqS1SyMb1S7cH8EyT+TkF9nkoJBq3u5Y8XIr5BUWI8D3STdj1/87oLVWgSdnb/N2pKN3RBAHixBVwKYDDQAGDhyIgQMHWrsMshOuLhLED4rAxI2pkAA2FWoSAIlDo9CpYQ3VtuSMO+Ve8xMAsvOLcCLzLgeMEFXAprsciYwRExmMVaNaIUhmO92P1X08tM69qO81P3u8NkhkaQw0cihyhUByxh0UlyrwUhvtU7RZw+wBTbUO7tD3mp+9XRsksgab73Ik0pe22UFsxY27j7Rur+iaH9c8I9Ifz9DI7skVAsv3XsIbG1NtMswA4L8nbmi9r0x5zQ/43xpnSlzzjMgwDDSya7vSstFp4X4s3XvZ2qWUK6egGCcy72p9Tdc1P655RmQYdjmS3bK3ORvLG9gRExnMNc+IKomBRnZJrhCYtyPdbsIMqHhgh6uLhEPziSqBXY5kl+xtzsZgDuwgMjsGGtkle7ovSwIO7CCyBHY5kl2yl/uyOMEwkeUw0Mgu3St8bFNTW7WrUw1v9WyIvMLHuPuwGP4+HgiSeXFgB5EFMdDI7uxKy8abm1KtXYaaTg1r4tlGNa1dBpFT4zU0sityhcDMLeesXYaGZXsvcZkXIitjoJFdSbl6B/cflVi7DK3m7UjnKtNEVsRAI7uSnHHH2iVo9fQyL0RkHQw0sjO2fQZkT7cTEDkaBhrZleh6NSpuZEX2cjsBkSPiKEeyK7v/uGXtErTiMi9E1sdAI7sxbv1J7LuQa+0yNHCZFyLbwEAju/DahhPYd+G2tcvQKoizgRDZBAYa2Ry5Qqgto3I7vwh7z1s/zKr7eGBIixD0bBoICCCvsJjLvBDZEAYa2ZRdadmYtyPd5mbSnzOgKcZ0CmdwEdkwBhrZDFtesLOGr5RhRmTjOGyfbIKtL9jJ4fhEto+BRjbBlhfs5OKcRPaBXY5kVcoBIL/Y8MS+HI5PZB8YaGQ11hoAMrZjXaw7dk2vtm/3asTh+ER2gl2OZBXKASCWDrPxz9ZFn2ZBerWt5u2GyT0amLkiIjIVBhpZnDUGgEgATOgSjvcHNNN7AuGhLWuxq5HIjrDLkSzOUgNAXCRAl4Y18GzDmhgdXRcebk9+f9N3xGKvCP3O5IjINjDQyOIsscSKp5sLfk/oqwqxp7UL90ewzBM5+UVazxI50TCRfWKXI1mcJe7pKipVYP+Fv1TP5QqB5Iw72H7mJk5k3sWcAU0B/G9iYSVONExkv3iGRhZ3r/Cx2d9DAmDejnT0jgjCnvQcjdGUwTJPvN4lHD+ezVbbzomGiewXA40saufv2XhzU6rZ30cAyM4vwor9l7Fs72WNrsWc/CJ8figTn45ohWo+HqqJkDnRMJH9sqsux8TEREgkEsTFxVm7FDLCzt9vYfJ/zR9mT1t39JrW62TKbR/+nI524f4Y0iIU0fWrM8yI7JjdBNrJkyfx+eef45lnnrF2KWSEXWnZeHPTaSgsPFnj/b9LdL6mPIs7kXnXcgURkdnYRaA9fPgQI0eOxJo1a1CtWjVrl0MGUt53ZmlVvd31ameJUZdEZH52EWiTJk3CgAED0KtXrwrbFhcXo6CgQO1B1mWtiYfHdgzXqx1n0idyDDYfaN988w1SU1ORmJioV/vExETIZDLVIywszMwVUkUsfQbkIgFWjmiFyT0aIFjmqTE0X0kCzqRP5EhsOtCysrIwdepUbNy4EZ6e+v0WPWvWLOTn56seWVlZZq6SKmLpM6AVL7dE/2eC4eoiQfygCAC834zIGdh0oP3222/Izc1F69at4ebmBjc3Nxw8eBAff/wx3NzcIJfLNfaRSqXw8/NTe5B1tQv3h7eHq8Xez+WpgIqJDMaqUa0QJFMP1SCZJ1aNasX7zYgciE3fh9azZ0+cO3dObdvYsWPRpEkTzJgxA66ulvshScaTKwT+LtH85cMcnr6hWnnmFRMZjN4RQTiReZf3mxE5MJsONF9fX0RGRqpt8/HxQfXq1TW2k+36KvkahIWG6z89FD+6fnXVdlcXidpzInI8Nt3lSPZPrhA4boX7vDgUn8j52PQZmjZJSUnWLoH0ZOiK1F0b1cChS3kAoHV2j1c71UVoVS98+PP5Co/FofhEzsfuAo1sn1whsGL/FSzde0nvfSQSYM0rbbH/wl9aJxJWThgsVwh8cSSTS78QkQYGGpnUrrRsxG9Pw18PDJtR39vdFa4ukgoHcCiH4k/cmAoJ1M/kOBSfyLnxGhqZzK60bLyxMdXgMAOAwsdy1ZyKygEcuiYM5lB8ItKGZ2hUaXKFQMrVO5j23ZlKHceQgRwcik9EZTHQqFJ2/p6N2dvTcNcEi3YaOpCDQ/GJ6GkMNDJa4s50rD6UWenjcCAHEZkCr6GRUX46c9NkYQZwIAcRVR7P0MhgO3/PxuRvzpjkWEFPDcknIqoMBhoZ5MnK06mVOsbk7g3QMLAKB3IQkUkx0Ehvj0sV+OfWtEofp1ODGhzMQUQmx2topJddadnokLi3UqMZuaAmEZkTz9CoQrvSsjFxY6rWqab0xcEfRGRuDDTSSa4QSMm4g5mbz1UqzAAO/iAi82OgEYAn4fX0rBv3Covx4c/n9Z4pX5sp3eujfqAvB38QkUUw0MjgZV70MbZjHUzr28RkxyMiqggDzcmZ4vqYNn2asWuRiCyLoxydmFwhMG9HusnDLMhPypGMRGRxDDQndiLzrkm7GZUSBjfj9TIisjgGmhMzZLkWfVT1dsdnXI+MiKyE19CcmKHLtShV9XLHJy+3BAAcz7wLQCC6Xg100LIYJxGRpTDQnNi9wmK4SACFARfRJAAW/iMKzzaqCQCq/xIRWRsDzUntSsvGpE2nDRoQ4u/jjn89H8UuRSKySQw0J2TM6MbqPh5IntUTHm687EpEtomB5oQMGd2ovCK24PlIhhkR2TQGmhMyZHQj52AkInvBQHNC+o5unDOgKcZ0CufIRSKyC+xDckLtwv0RLPOErphSrlvGMCMie8JAc0KuLhLED4rQOiiE65YRkb1ioDmpKlJ3uLtqBlaQzBOrONsHEdkhXkNzQkcu52HchpMokQt0b1wTYzuF496jx1y3jIjsGgPNySjDrLhUgZ5NArByVCtI3VytXRYRUaWxy9GJMMyIyJEx0JzE0SsMMyJybAw0J3D0Sh5eXc8wIyLHZtOBlpiYiLZt28LX1xcBAQF47rnncPHiRWuXZVcYZkTkLGw60A4ePIhJkyYhJSUFe/bsQWlpKfr06YPCwkJrl2YXGGZE5EwkQghDJl23qtu3byMgIAAHDx5Ely5d9NqnoKAAMpkM+fn58PPzM3OFtoNhRkSOQt+f43Y1bD8/Px8A4O/vr7NNcXExiouLVc8LCgrMXpetYZgRkTOy6S7HpwkhMG3aNHTu3BmRkZE62yUmJkImk6keYWFhFqzS+hhmROSs7KbLcdKkSfj5559x5MgR1KpVS2c7bWdoYWFhTtHlyDAjIkfkUF2Ob731Fn788UccOnSo3DADAKlUCqlUaqHKbAfDjIicnU0HmhACb731FrZu3YqkpCSEh4dbuySbxDAjIrLxQJs0aRI2bdqE7du3w9fXFzk5OQAAmUwGLy8vK1dneXKFwInMu8h9UKSaSDjl6h2GGRERbPwamkSifdb3devWYcyYMXodw1GG7e9Ky8a8HenIzi9SbfP3cceDolKUyAXDjIgclkNcQ7PhrLWoXWnZmLgxVWNBzruFJQCAqFA/hhkROT27GbbvrOQKgXk70rWuLq10+0Ex3Fz4VRKRc+NPQRt3IvOuWjejNjkFxTiReddCFRER2SYGmo3LfVB+mBnajojIUTHQbFyAr6dJ2xEROSoGmo1rF+4Pfx93na9LAATLngzhJyJyZgw0G5dy9Q4eFJVqfU15U0P8oAi4umi/xYGIyFkw0GyYcgaQErlAVKgfgvzUp/QKknli1ahWiIkMtlKFRES2w6bvQ3Nm2qazcnNx0ZgphGdmRERPMNBsUHlzM0bXr27l6oiIbBO7HG0MJxomIjIOA82GMMyIiIzHQLMRDDMiosphoNkAhhkRUeUx0KyMYUZEZBoMNCtimBERmQ4DzUoYZkREpsVAswKGGRGR6THQLIxhRkRkHgw0C2KYERGZDwPNQhhmRETmxUCzgCOXGWZERObGQDOzI5fzMG4Dw4yIyNwYaGbEMCMishwGmpkwzIiILIuBZgYMMyIiy2OgmdjTYdaDYUZEZDEMNBMqe2a2imFGRGQxDDQTYTcjEZF1MdBM4OgVhhkRkbUx0CqJM4AQEdkGBlolMMyIiGwHA81IDDMiItvCQDMCw4yIyPYw0AzEMCMisk12EWgrV65EeHg4PD090bp1axw+fNgqdTDMiIhsl80H2rfffou4uDi8//77OH36NJ599ln069cPN27csGgdXAKGiMi2SYQQwtpFlKd9+/Zo1aoVVq1apdrWtGlTPPfcc0hMTKxw/4KCAshkMuTn58PPz8+oGnjTNBGR9ej7c9ymz9AeP36M3377DX369FHb3qdPHxw7dkzrPsXFxSgoKFB7VAbDjIjIPth0oOXl5UEulyMwMFBte2BgIHJycrTuk5iYCJlMpnqEhYUZ/f4MMyIi+2HTgaYkkUjUngshNLYpzZo1C/n5+apHVlaWUe/JMCMisi9u1i6gPDVq1ICrq6vG2Vhubq7GWZuSVCqFVCqt1PtyCRgiIvtj02doHh4eaN26Nfbs2aO2fc+ePejYsaNZ3pNLwBAR2SebPkMDgGnTpmH06NFo06YNoqOj8fnnn+PGjRt44403TP5e7GYkIrJfNh9oL730Eu7cuYMPPvgA2dnZiIyMxM6dO1GnTh2Tvg+XgCEism82fx9aZelz/wJnACEisl0OcR+aJTDMiIgcg1MHGsOMiMhxOG2gMcyIiByLUwYaw4yIyPE4XaAxzIiIHJNTBRrDjIjIcdn8fWimkpJxB29tvsAwIyJyUE5zhvbmplSGGRGRA3OaQHvMMCMicmgO3+WonAglOswLCwc3QPGjQhRbuSYiItKfcqHmiia2cvipr/78889KLfJJRES2ISsrC7Vq1dL5usMHmkKhwK1bt+Dr66tzUdCKFBQUICwsDFlZWeXOI2av+PnsGz+ffePnq5gQAg8ePEBISAhcXHRfKXP4LkcXF5dyE90Qfn5+DvkXTomfz77x89k3fr7yyWSyCts4zaAQIiJybAw0IiJyCAw0PUilUsTHx0MqlVq7FLPg57Nv/Hz2jZ/PdBx+UAgRETkHnqEREZFDYKAREZFDYKAREZFDYKAREZFDYKD9fytXrkR4eDg8PT3RunVrHD58uNz2Bw8eROvWreHp6Yl69erhs88+s1ClhklMTETbtm3h6+uLgIAAPPfcc7h48WK5+yQlJUEikWg8Lly4YKGq9ZeQkKBRZ1BQULn72Mt3BwB169bV+l1MmjRJa3tb/+4OHTqEQYMGISQkBBKJBNu2bVN7XQiBhIQEhISEwMvLC926dcMff/xR4XE3b96MiIgISKVSREREYOvWrWb6BOUr7/OVlJRgxowZiIqKgo+PD0JCQvDKK6/g1q1b5R5z/fr1Wr/ToqIiM38aTRV9f2PGjNGos0OHDhUe11TfHwMNwLfffou4uDi8//77OH36NJ599ln069cPN27c0No+MzMT/fv3x7PPPovTp0/jn//8J6ZMmYLNmzdbuPKKHTx4EJMmTUJKSgr27NmD0tJS9OnTB4WFhRXue/HiRWRnZ6seDRs2tEDFhmvWrJlanefOndPZ1p6+OwA4efKk2mfbs2cPAODFF18sdz9b/e4KCwvRvHlzrFixQuvrixcvxpIlS7BixQqcPHkSQUFB6N27Nx48eKDzmMnJyXjppZcwevRonD17FqNHj8awYcNw/Phxc30Mncr7fI8ePUJqairmzJmD1NRUbNmyBZcuXcLgwYMrPK6fn5/a95mdnQ1PT09zfIRyVfT9AUBMTIxanTt37iz3mCb9/gSJdu3aiTfeeENtW5MmTcTMmTO1tn/vvfdEkyZN1LZNmDBBdOjQwWw1mkpubq4AIA4ePKizzYEDBwQAce/ePcsVZqT4+HjRvHlzvdvb83cnhBBTp04V9evXFwqFQuvr9vTdARBbt25VPVcoFCIoKEgsXLhQta2oqEjIZDLx2Wef6TzOsGHDRExMjNq2vn37iuHDh5u8ZkOU/XzanDhxQgAQ169f19lm3bp1QiaTmbY4E9D2+WJjY8WQIUMMOo4pvz+nP0N7/PgxfvvtN/Tp00dte58+fXDs2DGt+yQnJ2u079u3L06dOoWSkhKz1WoK+fn5AAB/f/8K27Zs2RLBwcHo2bMnDhw4YO7SjHb58mWEhIQgPDwcw4cPx9WrV3W2tefv7vHjx9i4cSNeffXVCifatpfv7mmZmZnIyclR+36kUim6du2q898ioPs7LW8fW5Gfnw+JRIKqVauW2+7hw4eoU6cOatWqhYEDB+L06dOWKdAISUlJCAgIQKNGjTB+/Hjk5uaW296U35/TB1peXh7kcjkCAwPVtgcGBiInJ0frPjk5OVrbl5aWIi8vz2y1VpYQAtOmTUPnzp0RGRmps11wcDA+//xzbN68GVu2bEHjxo3Rs2dPHDp0yILV6qd9+/b4z3/+g19//RVr1qxBTk4OOnbsiDt37mhtb6/fHQBs27YN9+/fx5gxY3S2safvrizlvzdD/i0q9zN0H1tQVFSEmTNnYsSIEeVO2tukSROsX78eP/74I/773//C09MTnTp1wuXLly1YrX769euHr7/+Gvv378e///1vnDx5Ej169EBxse5VKE35/Tn8bPv6KvsbrxCi3N+CtbXXtt2WTJ48Gb///juOHDlSbrvGjRujcePGqufR0dHIysrCRx99hC5dupi7TIP069dP9f9RUVGIjo5G/fr1sWHDBkybNk3rPvb43QHA2rVr0a9fP4SEhOhsY0/fnS6G/ls0dh9rKikpwfDhw6FQKLBy5cpy23bo0EFtYEWnTp3QqlUrfPLJJ/j444/NXapBXnrpJdX/R0ZGok2bNqhTpw5+/vlnDB06VOd+pvr+nP4MrUaNGnB1ddX4bSA3N1fjtwaloKAgre3d3NxQvXp1s9VaGW+99RZ+/PFHHDhwwKjldDp06GCTvxGW5ePjg6ioKJ212uN3BwDXr1/H3r178dprrxm8r718d8rRqYb8W1TuZ+g+1lRSUoJhw4YhMzMTe/bsMXhJFRcXF7Rt29YuvtPg4GDUqVOn3FpN+f05faB5eHigdevWqtFjSnv27EHHjh217hMdHa3Rfvfu3WjTpg3c3d3NVqsxhBCYPHkytmzZgv379yM8PNyo45w+fRrBwcEmrs70iouLcf78eZ212tN397R169YhICAAAwYMMHhfe/nuwsPDERQUpPb9PH78GAcPHtT5bxHQ/Z2Wt4+1KMPs8uXL2Lt3r1G/RAkhcObMGbv4Tu/cuYOsrKxyazXp92fwMBIH9M033wh3d3exdu1akZ6eLuLi4oSPj4+4du2aEEKImTNnitGjR6vaX716VXh7e4u3335bpKeni7Vr1wp3d3fxww8/WOsj6DRx4kQhk8lEUlKSyM7OVj0ePXqkalP28y1dulRs3bpVXLp0SaSlpYmZM2cKAGLz5s3W+Ajlmj59ukhKShJXr14VKSkpYuDAgcLX19chvjsluVwuateuLWbMmKHxmr19dw8ePBCnT58Wp0+fFgDEkiVLxOnTp1Wj/BYuXChkMpnYsmWLOHfunHj55ZdFcHCwKCgoUB1j9OjRaiOQjx49KlxdXcXChQvF+fPnxcKFC4Wbm5tISUmxqc9XUlIiBg8eLGrVqiXOnDmj9u+xuLhY5+dLSEgQu3btEhkZGeL06dNi7Nixws3NTRw/ftymPt+DBw/E9OnTxbFjx0RmZqY4cOCAiI6OFqGhoRb7/hho/9+nn34q6tSpIzw8PESrVq3UhrXHxsaKrl27qrVPSkoSLVu2FB4eHqJu3bpi1apVFq5YPwC0PtatW6dqU/bzLVq0SNSvX194enqKatWqic6dO4uff/7Z8sXr4aWXXhLBwcHC3d1dhISEiKFDh4o//vhD9bo9f3dKv/76qwAgLl68qPGavX13ytsKyj5iY2OFEE+G7sfHx4ugoCAhlUpFly5dxLlz59SO0bVrV1V7pe+//140btxYuLu7iyZNmlgtwMv7fJmZmTr/PR44cEB1jLKfLy4uTtSuXVt4eHiImjVrij59+ohjx45Z/sOJ8j/fo0ePRJ8+fUTNmjWFu7u7qF27toiNjRU3btxQO4Y5vz8uH0NERA7B6a+hERGRY2CgERGRQ2CgERGRQ2CgERGRQ2CgERGRQ2CgERGRQ2CgERGRQ2CgEdmRhIQEtGjRQvV8zJgxeO655yxex7Vr1yCRSHDmzBmLvzeRLgw0IhN4eul5d3d31KtXD++8845eK4NXxvLly7F+/Xq92jKEyNFx+RgiE4mJicG6detQUlKCw4cP47XXXkNhYSFWrVql1q6kpMRkEyHLZDKTHIfIEfAMjchEpFIpgoKCEBYWhhEjRmDkyJHYtm2bqpvwyy+/RL169SCVSiGEQH5+Pl5//XUEBATAz88PPXr0wNmzZ9WOuXDhQgQGBsLX1xfjxo1DUVGR2utluxwVCgUWLVqEBg0aQCqVonbt2liwYAEAqFZaaNmyJSQSCbp166bab926dWjatCk8PT3RpEkTjTW6Tpw4gZYtW8LT0xNt2rSx6RWTyXnxDI3ITLy8vFBSUgIAuHLlCr777jts3rwZrq6uAIABAwbA398fO3fuhEwmw+rVq9GzZ09cunQJ/v7++O677xAfH49PP/0Uzz77LL766it8/PHHqFevns73nDVrFtasWYOlS5eic+fOyM7OxoULFwA8CaV27dph7969aNasGTw8PAAAa9asQXx8PFasWIGWLVvi9OnTGD9+PHx8fBAbG4vCwkIMHDgQPXr0wMaNG5GZmYmpU6ea+U+PyAhGTWlMRGpiY2PFkCFDVM+PHz8uqlevLoYNGybi4+OFu7u7yM3NVb2+b98+4efnJ4qKitSOU79+fbF69WohhBDR0dHijTfeUHu9ffv2onnz5lrft6CgQEilUrFmzRqtNSpnez99+rTa9rCwMLFp0ya1bR9++KGIjo4WQgixevVq4e/vLwoLC1Wvr1q1SuuxiKyJXY5EJvLTTz+hSpUq8PT0RHR0NLp06YJPPvkEAFCnTh3UrFlT1fa3337Dw4cPUb16dVSpUkX1yMzMREZGBgDg/PnziI6OVnuPss+fdv78eRQXF6Nnz55613z79m1kZWVh3LhxanXMnz9frY7mzZvD29tbrzqIrIVdjkQm0r17d6xatQru7u4ICQlRG/jh4+Oj1lahUCA4OBhJSUkax6latapR7+/l5WXwPgqFAsCTbsf27durvabsGhVcYYrsBAONyER8fHzQoEEDvdq2atUKOTk5cHNzQ926dbW2adq0KVJSUvDKK6+otqWkpOg8ZsOGDeHl5YV9+/bhtdde03hdec1MLpertgUGBiI0NBRXr17FyJEjtR43IiICX331Ff7++29VaJZXB5G1sMuRyAp69eqF6OhoPPfcc/j1119x7do1HDt2DLNnz8apU6cAAFOnTsWXX36JL7/8EpcuXUJ8fDz++OMPncf09PTEjBkz8N577+E///kPMjIykJKSgrVr1wIAAgIC4OXlhV27duGvv/5Cfn4+gCc3aycmJmL58uW4dOkSzp07h3Xr1mHJkiUAgBEjRsDFxQXjxo1Deno6du7ciY8++sjMf0JEhmOgEVmBRCLBzp070aVLF7z66qto1KgRhg8fjmvXriEwMBAA8NJLL2Hu3LmYMWMGWrdujevXr2PixInlHnfOnDmYPn065s6di6ZNm+Kll15Cbm4uAMDNzQ0ff/wxVq9ejZCQEAwZMgQA8Nprr+GLL77A+vXrERUVha5du2L9+vWqYf5VqlTBjh07kJ6ejpYtW+L999/HokWLzPinQ2QciWAHOREROQCeoRERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUP4f7S6eFnqijPBAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2321±0.0073 95CI=(0.2209, 0.2425)\n", - " MSE: 0.1017±0.0077 95CI=(0.0898, 0.1157)\n", - " R2: 0.9498±0.0041 95CI=(0.9416, 0.9555)\n", - "RMSE: 0.3186±0.0120 95CI=(0.2997, 0.3402)\n" - ] - }, - { - "data": { - "image/png": "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89k3fr7yCSFw7949hIaGwsXF8JUyh+9ydHFxKTPRK8LPz88h/4NT4+ezb/x89o2fr2wKhaLcNk4zKISIiBwbA42IiBwCA80IcrkcCQkJkMvlUpdiEfx89o2fz77x85mPww8KISIi58AzNCIicggMNCIicggMNCIicggMNCIicggMtP+zcuVKhIeHw9PTE61bt8aBAwfKbL9v3z60bt0anp6eqFevHj777DMrVVoxiYmJePrpp+Hr64vAwEAMHDgQFy9eLHOflJQUyGQyncfvv/9upaqNN3/+fJ06g4ODy9zHXr47AKhbt67e72LSpEl629v6d7d//370798foaGhkMlk2Lp1q9brQgjMnz8foaGh8PLyQpcuXXD+/Plyj7tp0yZERERALpcjIiICW7ZssdAnKFtZn6+kpASzZs1CVFQUfHx8EBoailGjRuGPP/4o85hJSUl6v9OioiILfxpd5X1/o0eP1qmzXbt25R7XXN8fAw3At99+i2nTpuHtt9/GqVOn8Mwzz6B37964ceOG3vaZmZno06cPnnnmGZw6dQr/+Mc/MGXKFGzatMnKlZdv3759mDRpEo4ePYpdu3ahtLQUsbGxKCwsLHffixcvIjs7W/No2LChFSquuGbNmmnVee7cOYNt7em7A4ATJ05ofbZdu3YBAIYMGVLmfrb63RUWFqJ58+ZYsWKF3teXLl2KDz/8ECtWrMCJEycQHByMnj174t69ewaPeeTIEbzwwgsYOXIkzpw5g5EjR2Lo0KE4duyYpT6GQWV9vgcPHiA1NRXz5s1DamoqNm/ejEuXLmHAgAHlHtfPz0/r+8zOzoanp6clPkKZyvv+ACAuLk6rzh07dpR5TLN+f4JEdHS0ePXVV7W2NWnSRMyePVtv+7feeks0adJEa9uECRNEu3btLFajueTm5goAYt++fQbb7N27VwAQd+/etV5hJkpISBDNmzc3ur09f3dCCDF16lRRv359oVKp9L5uT98dALFlyxbNc5VKJYKDg8XixYs124qKioRCoRCfffaZweMMHTpUxMXFaW3r1auXGDZsmNlrrognP58+x48fFwDE9evXDbZZt26dUCgU5i3ODPR9vvj4ePHss89W6Djm/P6c/gzt4cOH+O233xAbG6u1PTY2FocPH9a7z5EjR3Ta9+rVCydPnkRJSYnFajWH/Px8AIC/v3+5bVu2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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2386±0.0071 95CI=(0.2269, 0.2499)\n", - " MSE: 0.1052±0.0082 95CI=(0.0934, 0.1183)\n", - " R2: 0.9472±0.0038 95CI=(0.9413, 0.9527)\n", - "RMSE: 0.3241±0.0126 95CI=(0.3056, 0.3439)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1778±0.0158 95CI=(0.1512, 0.2068)\n", - " MSE: 0.0529±0.0088 95CI=(0.0388, 0.0671)\n", - " R2: 0.9676±0.0079 95CI=(0.9546, 0.9781)\n", - "RMSE: 0.2292±0.0191 95CI=(0.1970, 0.2590)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1665±0.0186 95CI=(0.1355, 0.1965)\n", - " MSE: 0.0416±0.0085 95CI=(0.0278, 0.0576)\n", - " R2: 0.9811±0.0058 95CI=(0.9701, 0.9890)\n", - "RMSE: 0.2028±0.0207 95CI=(0.1668, 0.2399)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1933±0.0262 95CI=(0.1510, 0.2438)\n", - " MSE: 0.0653±0.0154 95CI=(0.0398, 0.0926)\n", - " R2: 0.9303±0.0255 95CI=(0.8826, 0.9639)\n", - "RMSE: 0.2538±0.0303 95CI=(0.1995, 0.3043)\n" - ] - }, - { - "data": { - "image/png": "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NRbP9p6enq6zPTg4WKxevVpn2z//+U8RFRUlhBBiyZIlwsfHR+Tn52tfX7Rokd5jEVkTuxyJJLJlyxZUrVoV7u7uiIqKQocOHfDFF18AAEJDQ1GzZk1t2z/++AP37t2Dr68vqlatqn1kZGTgwoULAIBTp04hKipK5z1KPn/cqVOnUFhYiK5duxpd819//YXMzEyMGTNGp44PPvhAp46mTZuiSpUqRtVBZC3sciSSSOfOnbFo0SK4uroiKChIZ+CHp6enTluNRoPAwECkpKSUOk61atVMen8PD48K76PRaAA86nZs06aNzmvFXaOCK0yRnWCgEUnE09MTTzzxhFFtW7RogezsbLi4uKBOnTp62zRs2BD79+/HiBEjtNv2799v8Jj16tWDh4cHduzYgVdeeaXU68XfmanVau02f39/1KpVCxcvXsRLL72k97iNGjXC119/jb///lsbmmXVQWQt7HIksoJu3bohKioKAwYMwM8//4xLly5h7969mD59Og4dOgQAmDhxIpYvX47ly5fj7NmziI+Px4kTJwwe093dHVOmTMG7776Lr776ChcuXMD+/fuxbNkyAICfnx88PDywbds2XL9+Hbm5uQAe3aydkJCAefPm4ezZszh27BhWrFiBTz/9FAAwdOhQODk5YcyYMTh58iSSkpLw8ccfm/lfiKjiGGhEVqBQKJCUlIQOHTrg5ZdfRv369TFkyBBcunQJ/v7+AIDBgwfj/fffx5QpU9CyZUtcvnwZr7/+epnHfe+99/D222/j/fffR8OGDTF48GDk5OQAAFxcXDB//nwsWbIEQUFB6N+/PwDglVdewX/+8x8kJiYiMjISHTt2RGJionaYf9WqVbF582acPHkSzZs3x7Rp0zB37lwz/usQmUYh2EFOREQywCs0IiKSBQYaERHJAgONiIhkgYFGRESywEAjIiJZYKAREZEsMNCIiEgWGGhERCQLDDQiIpIFBhoREckCA42IiGSBgUZERLLw/+kJDQMs0Wo0AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"measurement_types\": [\n", - " \"pIC50\",\n", - " \"pKd\",\n", - " \"pKi\"\n", - " ],\n", - " \"uniprot_ids\": [\n", - " \"P00533\"\n", - " ],\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fce6846ea60>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ..., 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": 1024\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1777710.0157850.0529210.0088070.9675860.0079240.2292480.019131
test0.1664510.0186110.0415710.0085080.9811310.0057520.2028370.020681
val0.1932610.0262350.0653150.0153760.9303270.0255220.2537690.030277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2353930.0052190.1033620.0057620.9485920.0027520.3213760.008907
test0.2321050.0073120.1016540.0076530.9497710.0041290.3186070.011975
val0.2386040.0071220.1051680.0082460.9471720.0037960.3240510.012595
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2498060.0532780.1704120.0793780.8634790.0715410.4012790.096887
test0.2737530.0872420.2103920.1424300.7849350.2243240.4322510.153464
val0.2215590.0618490.1199450.0542890.8932250.0708910.3357530.084941
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:53:44.645164\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:53:44.649391+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "kinoml : 0+unknown\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:53:44 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 12% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb b/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb deleted file mode 100644 index 9f483080..00000000 --- a/docs/_build/html/.doctrees/nbsphinx/notebooks/ligand-only-smiles-EGFR.ipynb +++ /dev/null @@ -1,13678 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 1000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:13.189152\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e50be96627845d99da5665551000c4f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:15:40.593058\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:15:40.605328+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:15:40 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 57C P8 17W / 10W | 46MiB / 16384MiB | 18% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Train a model with PyTorch\n", - "\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:47.319083\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe85481c85794e4c96050287e22999ce", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1604±0.0194 95CI=(0.1331, 0.1940)\n", - " MSE: 0.0351±0.0071 95CI=(0.0248, 0.0473)\n", - " R2: 0.9759±0.0147 95CI=(0.9517, 0.9889)\n", - "RMSE: 0.1863±0.0188 95CI=(0.1575, 0.2175)\n" - ] - }, - { - "data": { - "image/png": "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lh05ckTrNlu0aAEnJyfs2bMHEydOrPB5+T2z0tJS1TJPT080atQIly9fxqhRozRuNygoCF9++SX+/vtvVWhWVgeRsfCSI5ER9O/fHyEhIXj66afx008/4cqVKzh06BBmz56N1NRUAMDUqVOxatUqrFq1CufPn0dMTAxOnz6tdZuOjo6YPn063nnnHXzxxRe4dOkSjhw5gpUrVwIAPDw84OTkhB07duCPP/5AXl4egAcPa8fFxWHJkiU4f/48Tp06hdWrV+PDDz8EAIwcORI2NjaYMGECMjIysH37dnzwwQcG/gkRVR8DjcgIZDIZtm/fjp49e2L8+PF47LHHMGLECFy5cgWenp4AgOHDh2Pu3LmYPn06OnbsiKtXr+LVV1+tdLtz5szBW2+9hblz56JVq1YYPnw4cnNzAQB2dnb45JNPsHz5cvj4+GDo0KEAgIkTJ+K///0vEhMT0aZNG/Tq1QuJiYmqbv5169bFtm3bkJGRgfbt22PWrFlYvHixAX86RPqRCV4gJyIiC8AzNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisgj/D6xljPwuj5V/AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1827±0.0276 95CI=(0.1317, 0.2254)\n", - " MSE: 0.0421±0.0114 95CI=(0.0218, 0.0610)\n", - " R2: 0.9659±0.0406 95CI=(0.8957, 0.9884)\n", - "RMSE: 0.2032±0.0285 95CI=(0.1476, 0.2470)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1334±0.0305 95CI=(0.0860, 0.1868)\n", - " MSE: 0.0267±0.0107 95CI=(0.0119, 0.0438)\n", - " R2: 0.9695±0.0289 95CI=(0.9180, 0.9935)\n", - "RMSE: 0.1599±0.0329 95CI=(0.1090, 0.2092)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+JElEQVR4nO3deVxU9eL/8fewDYgwCsqmiIgmbldxx9wXFPes1NzA1KwwJbs39WuGloZ6+7WaS6ZgmWm5kJZZLoC55QKairugqBCugBAjy+f3h5fJkQGGYdYz7+fjMY9Hc+acM59xghfnzJlzZEIIASIiIgtnY+oBEBER6QODRkREksCgERGRJDBoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0Ymk5ubi7fffhshISGoW7cuZDIZ5s+fX+lyQgh0794dMpkM06ZN0+uYEhISIJPJsHnzZrXp+fn5CA0Nhb29Pb7++msAQGxsLGQyGdLS0lTzhYeHQyaTwcXFBQ8fPiyz/mvXrsHGxkbr10qGtXz5csTGxpp6GKQnDBqZzN27d/Hll19CqVRi+PDhWi/3xRdf4PLly4Yb2FOys7MREhKC+Ph4bN68GRMmTAAADBo0CIcPH4a3t7fa/Pb29igqKsKmTZvKrCsmJgYuLi5GGTdVjkGTFgaNTMbPzw/3799HYmIioqOjtVomLS0Nc+bMwRdffGHg0T2WlZWFnj174s8//8Qvv/yCYcOGqR6rW7cuOnfuDLlcrraMg4MDhg8fjrVr16pNF0IgNjYWo0aNMsrYDS0/P9/UQyBSw6CRychkMshksiot88orr6Bfv3547rnnqvxc06ZNw6pVq/DMM89ALpejefPm2LhxY7nLXLt2DV27dsWNGzewb98+9OrVS+1xTbscS7388ss4dOgQLly4oJq2Z88eXLt2DRMnTtT4fJmZmZg6dSrq168PBwcH+Pv7Y8GCBSgqKlKbb8GCBejUqRPc3Nzg6uqKtm3bYs2aNXj6POP79u1Dz5494e7uDicnJzRo0ADPP/+8KkSlu1cTEhLUlktLS4NMJlPbcgkPD0fNmjVx+vRphISEwMXFBX369AEAPHr0CAsXLkRgYCDkcjnq1q2LiRMn4vbt22rrbdiwIQYPHoyffvoJQUFBcHJyQrNmzfDTTz+p/j2bNWsGZ2dndOzYEcePHy/zb3T8+HEMHToUbm5ucHR0RFBQEL7//nu1eUrfl/j4eLz22muoU6cO3N3dMWLECNy6dUttPGfPnkViYqLq/8WGDRtqfG/IMtiZegBE2vrqq69w9OhRpKSk6LT89u3bER8fj/feew/Ozs5Yvnw5XnrpJdjZ2eGFF15Qm/fcuXN48803AQD79+9Hs2bNqvRcffv2hZ+fH9auXYslS5YAANasWYPu3bujSZMmZebPzMxEx44dYWNjg3fffRcBAQE4fPgwFi5ciLS0NMTExKjmTUtLw9SpU9GgQQMAwJEjR/DGG2/g5s2bePfdd1XzDBo0CN26dcPatWtRq1Yt3Lx5E7t27cKjR49Qo0aNKr0e4HG4hg4diqlTp2L27NkoKipCSUkJhg0bht9//x1vv/02unTpgmvXriEqKgo9e/bE8ePH4eTkpFrHqVOnMGfOHMydOxcKhQILFizAiBEjMGfOHOzduxcffPABZDIZZs2ahcGDByM1NVW1fHx8PAYMGIBOnTph5cqVUCgU2LhxI0aNGoX8/HyEh4erjXfy5MkYNGgQNmzYgPT0dPznP//BuHHjsG/fPgDAtm3b8MILL0ChUGD58uUAUGZrmyyMIDIDt2/fFgBEVFSUxsdv3LghFAqFWLVqlWoaABEREaHV+gEIJycnkZmZqZpWVFQkAgMDRePGjVXT4uPjBQABQNja2oqUlJRy1xkTEyMAiNTUVNW0sLAw4ezsLIQQIioqSnh5eYnCwkJx9+5dIZfLRWxsrMbXOnXqVFGzZk1x7do1tef48MMPBQBx9uxZjWMoLi4WhYWF4r333hPu7u6ipKRECCHE5s2bBQBx8uTJcsdf+lrj4+PVpqempgoAIiYmRu11ARBr165Vm/e7774TAMSWLVvUph87dkwAEMuXL1dN8/PzE05OTuLGjRuqaSdPnhQAhLe3t8jLy1NNj4uLEwDE9u3bVdMCAwNFUFCQKCwsVHuuwYMHC29vb1FcXCyE+Od9ef3119XmW7p0qQAgMjIyVNNatGghevToUe6/EVkW7nIki/Dqq6+idevWmDJlis7r6NOnDzw9PVX3bW1tMWrUKFy+fBk3btxQm3fw4MEoKSlBRESEzp8VTZw4EX/99Rd++eUXfPvtt3BwcMCLL76ocd6ffvoJvXr1go+PD4qKilS30NBQAEBiYqJq3n379qFv375QKBSwtbWFvb093n33Xdy9exdZWVkAgDZt2sDBwQGvvPIK1q1bh6tXr+r0Gp72/PPPlxl3rVq1MGTIELVxt2nTBl5eXmV2Z7Zp0wb16tVT3S/d8u3Zs6faVmPp9GvXrgEALl++jPPnz2Ps2LEAoPZcAwcOREZGhtruXQAYOnSo2v1//etfausk6WHQyOxt3rwZu3btwtKlS5GdnY0HDx7gwYMHAB7vBnvw4AEKCwsrXY+Xl1e50+7evas2PSwsDKtXr0ZCQgIGDRqEvLy8Ko/bz88Pffr0wdq1a7F27VqMHj263F19f/31F3bs2AF7e3u1W4sWLQAAd+7cAQAcPXoUISEhAIDVq1fj4MGDOHbsGObOnQsA+PvvvwEAAQEB2LNnDzw8PBAREYGAgAAEBATg008/rfLrKFWjRg24urqWGfeDBw/g4OBQZuyZmZmqcZdyc3NTu+/g4FDh9IKCAtXzAMC///3vMs/z+uuvq/0blXJ3d1e7X7o7sfTfiKSHn6GR2Ttz5gyKiorQuXPnMo+tXr0aq1evxrZt2yo99D8zM7PcaU//8gOASZMmwcbGBpMnT8bAgQOxc+dOODs7V2nsL7/8MsaNG4eSkhKsWLGi3Pnq1KmDf/3rX1i0aJHGx318fAAAGzduhL29PX766Sc4OjqqHo+LiyuzTLdu3dCtWzcUFxfj+PHj+PzzzxEZGQlPT0+MHj1atbxSqVRb7ukwlNJ0AE/pARe7du3SuIy+vqJQp04dAMCcOXMwYsQIjfM0bdpUL89FlotBI7MXHh6Onj17lpneq1cvDB8+HDNmzEDLli0rXc/evXvx119/qXY7FhcXY9OmTQgICED9+vU1LjNx4kTIZDJMmjQJoaGh2LlzJ2rWrKn12J977jk899xzUCgUGoNcavDgwdi5cycCAgJQu3btcueTyWSws7ODra2tatrff/+Nb775ptxlbG1t0alTJwQGBuLbb79FUlISRo8erTqi788//0T//v1V82/fvl3r1zd48GBs3LgRxcXF6NSpk9bLVVXTpk3RpEkTnDp1Ch988IHe1iuXy7nFJiEMGpnUL7/8gry8POTm5gIAUlJSVGfpGDhwIGrUqIGGDRuWezh1vXr1NMZOkzp16qB3796YN2+e6ijH8+fPV3joPvA4qDY2Npg4cSJCQ0Pxyy+/aB01R0fHMmcd0eS9997D7t270aVLF0yfPh1NmzZFQUEB0tLSsHPnTqxcuRL169fHoEGD8NFHH2HMmDF45ZVXcPfuXXz44Ydljs5buXIl9u3bh0GDBqFBgwYoKChQfS+ub9++AB7vbu3bty+io6NRu3Zt+Pn5Ye/evdi6datWrw0ARo8ejW+//RYDBw7EjBkz0LFjR9jb2+PGjRuIj4/HsGHDqvwVi/KsWrUKoaGh6N+/P8LDw1GvXj3cu3cP586dQ1JSEn744Ycqr7NVq1bYuHEjNm3ahEaNGsHR0RGtWrXSy3jJ+Bg0MqnXXntN7UP6H374QfWLKTU1Va/fCxo6dChatGiBd955B9evX0dAQAC+/fZbrb7oPGHCBNjY2CA8PBz9+/cvdxebrry9vXH8+HG8//77+O9//4sbN27AxcUF/v7+GDBggGqrrXfv3qqvAgwZMgT16tXDlClT4OHhgUmTJqnW16ZNG/z222+IiopCZmYmatasiZYtW2L79u2qz+AA4JtvvsEbb7yBWbNmobi4GEOGDMF3332H9u3bazVuW1tbbN++HZ9++im++eYbREdHw87ODvXr10ePHj30GodevXrh6NGjWLRoESIjI3H//n24u7ujefPmGDlypE7rXLBgATIyMjBlyhTk5ubCz89P4/cKyTLIhHjq25hEEiSTyRAREYFly5aZeihEZCA8ypGIiCSBQSMiIkngZ2hkFbhnnUj6uIVGRESSwKAREZEkMGhERCQJkv8MraSkBLdu3YKLi0uVr71FRESmJ4RAbm4ufHx8YGNT/naY5IN269Yt+Pr6mnoYRERUTenp6eWepg6wgqCVnhw1PT29zJnCiYjIPB2+chcRG5LwqKgEwb5O+P6tIZWe7FryQSvdzejq6sqgERFZgAOX7mD6lvMosnVEvxYeWDy0Mb5/S/MVH57Eg0KIiMhsHLh0B5PWHYOyqAR9Aj2wfFxbyO1sK18QDBoREZmJJ2PWu4oxAxg0IiIyA09vma2oYswABo2IiEysOrsZn8SgERGRyRy8rJ+YAQwaERGZyMHLd/ByrH5iBjBoRERkAvqOGcCgERGRkRkiZgCDRkRERmSomAEMGhERGYkhYwYwaEREZASGjhnAoBERkYEduGT4mAEMGhERGZC+vjStDQaNiIgMwpgxAxg0IiIyAGPHDGDQiIhIz0wRM4BBIyIiParuJWCqg0EjIiK90MclYKqDQSMiomoz1W7GJzFoRERULfq8BEx1MGhERKQzY5wBRFsMGhER6cScYgYwaEREpANzixnAoBERURWZY8wABo2IiKrAXGMGMGhERKQlc44ZwKAREZEWzD1mAINGRESVsISYAQwaERFVwFJiBjBoRERUDkuKGcCgERGRBpYWM4BBIyKip1hizAATB23//v0YMmQIfHx8IJPJEBcXV+68U6dOhUwmwyeffGK08RERWRtLjRlg4qDl5eWhdevWWLZsWYXzxcXF4Y8//oCPj4+RRkZEZH0sOWYAYGfKJw8NDUVoaGiF89y8eRPTpk3Dr7/+ikGDBhlpZERE1sXSYwaYOGiVKSkpwfjx4/Gf//wHLVq00GoZpVIJpVKpup+Tk2Oo4RERSYIUYgaY+UEhS5YsgZ2dHaZPn671MtHR0VAoFKqbr6+vAUdIRGTZpBIzwIyDduLECXz66aeIjY2FTCbTerk5c+YgOztbdUtPTzfgKImILJeUYgaYcdB+//13ZGVloUGDBrCzs4OdnR2uXbuGt956Cw0bNix3OblcDldXV7UbERGpk1rMADP+DG38+PHo27ev2rT+/ftj/PjxmDhxoolGRURk+aQYM8DEQXv48CEuX76sup+amoqTJ0/Czc0NDRo0gLu7u9r89vb28PLyQtOmTY09VCIiSZBqzAATB+348ePo1auX6v7MmTMBAGFhYYiNjTXRqIiIpEnKMQNMHLSePXtCCKH1/GlpaYYbDBGRhEk9ZoAZHxRCRET6YQ0xAxg0IiJJs5aYAQwaEZFkWVPMAAaNiEiSrC1mAINGRCQ51hgzgEEjIpIUa40ZwKAREUmGNccMYNCIiCTB2mMGMGhERBaPMXuMQSMismAHLjFmpRg0IiILdeDSHUxax5iVYtCIiCwQY1YWg0ZEZGEYM80YNCIiC8KYlY9BIyKyEE/GrDdjVgaDRkRkAZ7eMlvBmJXBoBERmTnuZtQOg0ZEZMYOXmbMtMWgERGZKZ4BpGoYNCIiM8SYVR2DRkRkZhgz3TBoRERmhDHTHYNGRGQmGLPqYdCIiMwAY1Z9DBoRkYnxEjD6waAREZkQvzStPwwaEZGJMGb6xaAREZkAY6Z/DBoRkZExZobBoBERGREvAWM4DBoRkZHwEjCGxaARERkBdzMaHoNGRGRgvASMcTBoREQGxDOAGI9Jg7Z//34MGTIEPj4+kMlkiIuLUz1WWFiIWbNmoVWrVnB2doaPjw8mTJiAW7dumW7ARERVwJgZl0mDlpeXh9atW2PZsmVlHsvPz0dSUhLmzZuHpKQkbN26FRcvXsTQoUNNMFIioqphzIxPJoQQph4EAMhkMmzbtg3Dhw8vd55jx46hY8eOuHbtGho0aKDVenNycqBQKJCdnQ1XV1c9jZaIqHyMmX5p+3vczohjqrbs7GzIZDLUqlWr3HmUSiWUSqXqfk5OjhFGRkT0GGNmOhZzUEhBQQFmz56NMWPGVFjo6OhoKBQK1c3X19eIoyQia8aYmZZFBK2wsBCjR49GSUkJli9fXuG8c+bMQXZ2tuqWnp5upFESkTVjzEzP7Hc5FhYWYuTIkUhNTcW+ffsq/RxMLpdDLpcbaXRERIyZuTDroJXG7NKlS4iPj4e7u7uph0REpIYxMx8mDdrDhw9x+fJl1f3U1FScPHkSbm5u8PHxwQsvvICkpCT89NNPKC4uRmZmJgDAzc0NDg4Opho2EREAxszcmPSw/YSEBPTq1avM9LCwMMyfPx/+/v4al4uPj0fPnj21eg4etk9EhsCYGY9FHLbfs2dPVNRTM/mKHBGRGsbMPFnEUY5EROaCMTNfDBoRkZYYM/PGoBERaYExM38MGhFRJRgzy8CgERFVgDGzHAwaEVE5GDPLwqAREWnAmFkeBo2I6CmMmWVi0IiInsCYWS4GjYjofxgzy8agERGBMZMCBo2IrB5jJg0MGhFZNcZMOhg0IrJajJm0MGhEZJUYM+lh0IjI6jBm0sSgEZFVYcyki0EjIqvBmEkbg0ZEVoExkz4GjYgkjzGzDgwaEUnagUuMmbVg0IhIsg5cuoNJ6xgza8GgEZEkMWbWh0EjIslhzKwTg0ZEksKYWS8GjYgk48mY9WbMrA6DRkSS8PSW2QrGzOowaERk8bibkQAGjYgs3MHLjBk9xqARkcXiGUDoSQwaEVkkxoyexqARkcVhzEgTBo2ILApjRuVh0IjIYjBmVBGTBm3//v0YMmQIfHx8IJPJEBcXp/a4EALz58+Hj48PnJyc0LNnT5w9e9Y0gyUik2LMqDImDVpeXh5at26NZcuWaXx86dKl+Oijj7Bs2TIcO3YMXl5e6NevH3Jzc408UiIyJV4ChrRhZ8onDw0NRWhoqMbHhBD45JNPMHfuXIwYMQIAsG7dOnh6emLDhg2YOnWqMYdKRCbCL02Ttsz2M7TU1FRkZmYiJCRENU0ul6NHjx44dOhQucsplUrk5OSo3YjIMjFmVBVmG7TMzEwAgKenp9p0T09P1WOaREdHQ6FQqG6+vr4GHScRGQZjRlVltkErJZPJ1O4LIcpMe9KcOXOQnZ2tuqWnpxt6iESkZ4wZ6cKkn6FVxMvLC8DjLTVvb2/V9KysrDJbbU+Sy+WQy+UGHx8RGQYvAUO6MtstNH9/f3h5eWH37t2qaY8ePUJiYiK6dOliwpERkaHwEjBUHSbdQnv48CEuX76sup+amoqTJ0/Czc0NDRo0QGRkJD744AM0adIETZo0wQcffIAaNWpgzJgxJhw1ERkCdzNSdZk0aMePH0evXr1U92fOnAkACAsLQ2xsLN5++238/fffeP3113H//n106tQJv/32G1xcXEw1ZCIyAF4ChvRBJoQQph6EIeXk5EChUCA7Oxuurq6mHg4RPYVnAKHKaPt73Gw/QyMi6WPMSJ8YNCIyCcaM9I1BIyKjY8zIEBg0IjIqxowMhUEjIqNhzMiQGDQiMgrGjAyNQSMig2PMyBgYNCIyKMaMjIVBIyKDYczImBg0IjIIxoyMjUEjIr1jzMgUGDQi0ivGjEyFQSMivWHMyJQYNCLSC8aMTI1BI6JqY8zIHDBoRFQtjBmZCwaNiHTGmJE5YdCISCeMGZkbBo2IqowxI3Nkp+2Mn332mdYrnT59uk6DISLzx5iRuZIJIYQ2M/r7+6vdv337NvLz81GrVi0AwIMHD1CjRg14eHjg6tWreh+ornJycqBQKJCdnQ1XV1dTD4fIrBSXCBxNvYes3AJ4uDiio78bbG1k5c7PmJEpaPt7XOsttNTUVNV/b9iwAcuXL8eaNWvQtGlTAMCFCxcwZcoUTJ06tRrDJiJj2XUmAwt2pCAju0A1zVvhiKghzTGgpXeZ+RkzMndab6E9KSAgAJs3b0ZQUJDa9BMnTuCFF15Qi5+pcQuNqKxdZzLw2vokPP3DX7pttmJcW7WoMWZkStr+HtfpoJCMjAwUFhaWmV5cXIy//vpLl1USkZEUlwgs2JFSJmYAVNMW7EhBccnje4wZWQqdgtanTx9MmTIFx48fR+kG3vHjxzF16lT07dtXrwMkIv06mnpPbTfj0wSAjOwCHE29x5iRRdEpaGvXrkW9evXQsWNHODo6Qi6Xo1OnTvD29sZXX32l7zESkR5l5ZYfsyf9fuk2Y0YWReuDQp5Ut25d7Ny5ExcvXsT58+chhECzZs3wzDPP6Ht8RKRnHi6OWs23+verKCwWjBlZDJ2CVqphw4YQQiAgIAB2dtVaFREZSUd/N3grHJGZXaDxc7RSjBlZGp12Oebn52PSpEmoUaMGWrRogevXrwN4/IXqxYsX63WARKRftjYyRA1pDuCfoxo1YczI0ugUtDlz5uDUqVNISEiAo+M/uy/69u2LTZs26W1wRGQYA1p6Y8W4tvBSaN79yJiRJdJpP2FcXBw2bdqEzp07Qyb752+85s2b48qVK3obHBEZzoCW3ujX3AtHU+/h90u3+ZkZWTydttBu374NDw+PMtPz8vLUAkdE5s3WRobiEoE1B1IZM7J4OgWtQ4cO+Pnnn1X3SyO2evVqBAcH62dkRGRwBy7dwaR1PDSfpEGnXY7R0dEYMGAAUlJSUFRUhE8//RRnz57F4cOHkZiYqLfBFRUVYf78+fj222+RmZkJb29vhIeH45133oGNDa98Q1QdjBlJjU5V6NKlCw4ePIj8/HwEBATgt99+g6enJw4fPox27drpbXBLlizBypUrsWzZMpw7dw5Lly7Ff//7X3z++ed6ew4ia8SYkRTpdHJiYxk8eDA8PT2xZs0a1bTnn38eNWrUwDfffKPVOnhyYiJ1jBlZGoOenLhXr15Ys2YNsrOzdR6gNrp27Yq9e/fi4sWLAIBTp07hwIEDGDhwoEGfl0iqnoxZb8aMJEanoLVq1QrvvPMOvLy88PzzzyMuLg6PHj3S99gwa9YsvPTSSwgMDIS9vT2CgoIQGRmJl156qdxllEolcnJy1G5EVHbLbAVjRhKjU9A+++wz3Lx5Ez/++CNcXFwQFhYGLy8vvPLKK3o9KGTTpk1Yv349NmzYgKSkJKxbtw4ffvgh1q1bV+4y0dHRUCgUqpuvr6/exkNkqbibkayBXj5DKygowI4dO7Bo0SKcPn0axcXF+hgbfH19MXv2bERERKimLVy4EOvXr8f58+c1LqNUKqFUKlX3c3Jy4Ovry8/QyGrxEjBk6bT9DK3aZxTOzMzExo0bsX79evz555/o0KFDdVepkp+fX+bwfFtbW5SUlJS7jFwuh1wu19sYiCwZY0bWRKeg5eTkYMuWLdiwYQMSEhLQqFEjjBkzBhs3bkTjxo31NrghQ4Zg0aJFaNCgAVq0aIHk5GR89NFHePnll/X2HERSxZiRtdFpl6OTkxNq166NkSNHYuzYsXrdKntSbm4u5s2bh23btiErKws+Pj546aWX8O6778LBwUGrdfCwfbJGjBlJiba/x6scNCEEVq9ejXHjxqFGjRrVHqihMWgkVcUlAkdT7yErtwAeLo7o6O8GWxsZY0aSY7CglZSUwNHREWfPnkWTJk2qPVBDY9BIinadycD87SnIzClQTfNydcToDvWxIvEqY0aSYrAvVtvY2KBJkya4e/dutQZIRLrZ+ectvLo+SS1mAJCZU4BP9l5mzMhq6fQ9tKVLl+I///kPzpw5o+/xENETiksEDl+5ix9P3sThK3ex49QtRHyXXOEy9jYyfD4miDEjq6PTUY7jxo1Dfn4+WrduDQcHBzg5Oak9fu/ePb0Mjsia7TqTgQU7UpCRXVD5zE8oLBFIvv4AzzauY6CREZknnYL2ySef6HkYRPSkXWcy8Nr6JOh61oPDV+4yaGR1dApaWFiYvsdBRP9TXCKwYEeKzjF7zGwvokFkMDpfJfPKlSt455138NJLLyErKwsAsGvXLpw9e1ZvgyOyRkdT71V5N+PTghtx64ysj05BS0xMRKtWrfDHH39g69atePjwIQDgzz//RFRUlF4HSGRtsnKrF7NaNezROcBdT6Mhshw6BW327NlYuHAhdu/erXbGjl69euHw4cN6GxyRNfJwcazW8otHtIKtjUxPoyGyHDoF7fTp03juuefKTK9bty6/n0ZUTR393eCtcERVk1TLyQ4rx7XFgJbeBhkXkbnTKWi1atVCRkZGmenJycmoV69etQdFZM1sbWSIGtIcALSKWq0a9niz7zM4MS+EMSOrptNRjmPGjMGsWbPwww8/QCaToaSkBAcPHsS///1vTJgwQd9jJLI6A1p6Y8W4tmW+hya3s8HS51vBw9WpzDkciaydTmfbLywsRHh4ODZu3AghBOzs7FBcXIwxY8YgNjYWtrbmc4YCnsuRLMnTJxxWFhVjytfHUVgs0LZBLayf3Ak1HKp9GUMii2KwkxM/6erVq0hKSkJJSQmCgoLM8mTFDBpZiorODMJzM5I1M8oVqxs1aoRGjRqhuLgYp0+fxv3791G7du3qrJLIKlV2ZpDhQT6MGVEldDooJDIyEmvWrAEAFBcXo0ePHmjbti18fX2RkJCgz/ERSdKTJx0+ePkO5m8/W+G5PT7YeR7FJTz7B1FFdNpC27x5M8aNGwcA2LFjB65evYrz58/j66+/xty5c3Hw4EG9DpJISnQ56XBGdgGOpt5DML8wTVQunYJ2584deHl5AQB27tyJkSNH4plnnsGkSZPw2Wef6XWARFJQerDH7pRMrD2YptM6qnsGESKp0ylonp6eSElJgbe3N3bt2oXly5cDAPLz883qCEcic6DrZWCeVt0ziBBJnU5BmzhxIkaOHAlvb2/IZDL069cPAPDHH38gMDBQrwMksmTVvQwM8PjL1V6Kx983I6Ly6RS0+fPno2XLlkhPT8eLL74IuVwOALC1tcXs2bP1OkAiS6WPy8CUfl06akhzfnmaqBI6H7b/wgsvlJnG66QR/UMfl4HxUjgiakhzntKKSAs6B23v3r34+OOPce7cOchkMgQGBiIyMhJ9+/bV5/iILJYuB3G4OTvg89FBuJOn5GmtiKpIp++hLVu2DAMGDICLiwtmzJiB6dOnw9XVFQMHDsSyZcv0PUYii6TLQRzD2/jg2SZ1MKxNPQQHuDNmRFWg06mv6tWrhzlz5mDatGlq07/44gssWrQIt27d0tsAq4unviJTKS4R6LpkHzKzC7T+HO27KZ35XTOip2j7e1ynLbScnBwMGDCgzPSQkBDk5OToskoiyXnyMjDa8OaRjETVolPQhg4dim3btpWZ/uOPP2LIkCHVHhSRVJReBsbN2b7ceWT/u/FIRqLq0fqgkCfPANKsWTMsWrQICQkJCA4OBgAcOXIEBw8exFtvvaX/URJZMBdHe+QpiwEAvrWd8FBZhPv5harHeSQjkX5o/Rmav7+/diuUyXD16tVqDUqf+BkaGdLT1y97+qjEg5fv4OXYY1AWlaguAWNnY1PhMkSkTu+Xj0lNTS0z7c6dO5DJZHB354fYZF2KSwSW7buEmINpePD3P1tb3k9sbWmKWeklYHjgB5H+VfkztAcPHiAiIgJ16tSBp6cnPDw8UKdOHUybNg0PHjwwwBCJzMuuMxlot3A3Pt5zSS1mAJCZXYBX1yfhre9PIjzmKJRFJejNi3MSGUWVvlh97949BAcH4+bNmxg7diyaNWsGIQTOnTuH2NhY7N27F4cOHeJFPkmyKjs3Y+n0LUk3VdNSbmUj/nwWPyMjMrAqfQ8tMjISe/fuxZ49e+Dp6an2WGZmJkJCQtCnTx98/PHHeh+orvgZGulL6ffKqno6q9JPx1aMa8uoEenAIN9Di4uLw4cfflgmZgDg5eWFpUuXajycn0gKdD03Y+lfjAt2pPCq00QGVKWgZWRkoEWLFuU+3rJlS2RmZlZ7UE+6efMmxo0bB3d3d9SoUQNt2rTBiRMn9PocRNqozgU2Bf656jQRGUaVPkOrU6cO0tLSUL9+fY2Pp6am6vWIx/v37+PZZ59Fr1698Msvv8DDwwNXrlxBrVq19PYcRNrSxwU2edVpIsOpUtAGDBiAuXPnYvfu3XBwcFB7TKlUYt68eRpPiaWrJUuWwNfXFzExMappDRs21Nv6iaqio78bvBWOVTo349N41Wkiw6nSQSE3btxA+/btIZfLERERobo6dUpKCpYvXw6lUonjx4/D19dXL4Nr3rw5+vfvjxs3biAxMRH16tXD66+/jilTpmi9Dh4UQvpUepQjgCpFrfSq0wdm9eaXqImqSNvf41U+235qaipef/11/PbbbyhdVCaToV+/fli2bBkaN25cvZE/wdHx8V+zM2fOxIsvvoijR48iMjISq1atwoQJEzQuo1QqoVQqVfdzcnLg6+vLoJHe7DqTgf/bdhr38v75DprCyQ7dmtTFz39mAFCPHY9yJKoegwWt1P3793Hp0iUAQOPGjeHmpv+zhDs4OKB9+/Y4dOiQatr06dNx7NgxHD58WOMy8+fPx4IFC8pMZ9BIX548A0gLH1fMGhCIZxvXga2NDLvOZGDBjhS1oyG9ea5GomoxeNCMwc/PD/369cNXX32lmrZixQosXLgQN2/e1LgMt9DIkCo6nVWpys7vSERVo/dzOZrCs88+iwsXLqhNu3jxIvz8/MpdRi6XQy6XG3poZIW0iRnw+DpoPFcjkfHpdD00Y3nzzTdx5MgRfPDBB7h8+TI2bNiAL7/8EhEREaYeGlkZbWNGRKZj1kHr0KEDtm3bhu+++w4tW7bE+++/j08++QRjx4419dDIihy4xJgRWQKz/gxNH3jYPlXHgUt3MGkdY0ZkSgY5lyORNWHMiCwLg0akAWNGZHnM+ihHIkPTdIj94St3GTMiC8SgkdXS9CVoN2d75BYUobBY8ErTRBaGQSOrVN6Vp0tPZ9WqnitWMGZEFoWfoZHVKS4RWLAjpcKTC9/OVcLOhj8eRJaEP7FkdbS58nRmjpIX4ySyMAwaWR1tL7LJi3ESWRYGjayOthfZ5MU4iSwLg0ZWp6O/G9yc7ct9XIbHl3zp6K//SyIRkeEwaGR1jly9i9yCIo2PlV7kJWpIc17yhcjCMGhkVUrPml9YLNCqniu8XNUvNeSlcOSVpYksFL+HRlZD0yVg7GxseDFOIolg0MgqVHRuRl6Mk0gauMuRJI8nGiayDgwaSRpjRmQ9GDSSLMaMyLowaCRJjBmR9WHQSHKejBkvAUNkPRg0kpSnt8x4CRgi68GgkWRwNyORdWPQSBIOXmbMiKwdg0YWT9MZQBgzIuvDoJFFY8yIqBSDRhaLMSOiJzFoZJEYMyJ6GoNGFocxIyJNGDSyKIwZEZWHQSOLwZgRUUUYNLIIjBkRVYZBI7PHmBGRNhg0MmuMGRFpi0Ejs8WYEVFVMGhklhgzIqoqiwpadHQ0ZDIZIiMjTT0UMiDGjIh0YTFBO3bsGL788kv861//MvVQyIAYMyLSlUUE7eHDhxg7dixWr16N2rVrm3o4ZCCMGRFVh0UELSIiAoMGDULfvn0rnVepVCInJ0ftRuaPMSOi6rIz9QAqs3HjRiQlJeHYsWNazR8dHY0FCxYYeFSkT4wZEemDWW+hpaenY8aMGVi/fj0cHR21WmbOnDnIzs5W3dLT0w08SqoOxoyI9EUmhBCmHkR54uLi8Nxzz8HW9p9fcMXFxZDJZLCxsYFSqVR7TJOcnBwoFApkZ2fD1dXV0EOmKmDMiEgb2v4eN+tdjn369MHp06fVpk2cOBGBgYGYNWtWpTEj88WYEZG+mXXQXFxc0LJlS7Vpzs7OcHd3LzOdLAdjRkSGYNafoZH0MGZEZChmvYWmSUJCgqmHQDpizIjIkLiFRkbBmBGRoTFoZHCMGREZA4NGBsWYEZGxMGhkMIwZERkTg0YGwZgRkbExaKR3jBkRmQKDRnrFmBGRqTBopDeMGRGZEoNGesGYEZGpMWhUbQcuMWZEZHoMGlXLgUt3MGkdY0ZEpsegkc4YMyIyJwwa6YQxIyJzw6BRlTFmRGSOLO7yMWR4xSUCR1PvISu3AB4ujujo7wZbGxkA9Zj1ZsyIyIwwaKRm15kMLNiRgozsAtU0b4UjooY0R025PbfMiMhsMWiksutMBl5bnwTx1PTM7AK8uj4J9rYyFBYLxoyIzBI/QyMAj3czLtiRUiZmAFTTCosFdzMSkdli0AgAcDT1ntpuxvKEd2nImBGRWWLQCACQlVt5zADgfv4jA4+EiEg3DBoBADxcHPU6HxGRsTFoBADo6O8Gb4UjZOU8LsPjox07+rsZc1hERFpj0AgAYGsjQ9SQ5hoPCimNXNSQ5qrvoxERmRsGjVRcHO1hb1s2WF4KR6wY1xYDWnqbYFRERNrh99AIwD9nACk9ND+8S0Pcz39U5kwhRETmikEjnpuRiCSBuxytHGNGRFLBoFkxxoyIpIRBs1KMGRFJDYNmhXgJGCKSIgbNyjy9ZbaCMSMiiWDQrAh3MxKRlDFoVuLgZcaMiKSNQbMCBy/fwcuxjBkRSZtZBy06OhodOnSAi4sLPDw8MHz4cFy4cMHUw7IojBkRWQuzDlpiYiIiIiJw5MgR7N69G0VFRQgJCUFeXp6ph2YRGDMisiYyIYSmE6ybpdu3b8PDwwOJiYno3r27Vsvk5ORAoVAgOzsbrq6uBh6h+WDMiEgqtP09blHncszOzgYAuLmVf00upVIJpVKpup+Tk2PwcZkbxoyIrJFZ73J8khACM2fORNeuXdGyZcty54uOjoZCoVDdfH19jThK02PMiMhaWcwux4iICPz88884cOAA6tevX+58mrbQfH19rWKXI2NGRFIkqV2Ob7zxBrZv3479+/dXGDMAkMvlkMvlRhqZ+WDMiMjamXXQhBB44403sG3bNiQkJMDf39/UQzJLjBkRkZkHLSIiAhs2bMCPP/4IFxcXZGZmAgAUCgWcnJxMPDrzwJgRET1m1p+hyWQyjdNjYmIQHh6u1TqkfNg+Y0ZE1kASn6GZcWtNjjEjIlJnMYft0z8YMyKishg0C8OYERFpxqBZEMaMiKh8DJqFYMyIiCrGoFkAxoyIqHIMmpljzIiItMOgmTHGjIhIewyamWLMiIiqhkEzQ4wZEVHVMWhmhjEjItINg2ZGGDMiIt0xaGaCMSMiqh4GzQwwZkRE1cegmRhjRkSkHwyaCTFmRET6w6CZCGNGRKRfDJoJMGZERPrHoBkZY0ZEZBgMmhExZkREhsOgGQljRkRkWAyaERy4xJgRERkag2ZgBy7dwaR1jBkRkaExaAbEmBERGQ+DZiCMGRGRcTFoBsCYEREZH4OmZ0/GrDdjRkRkNAyaHj29ZbaCMSMiMhoGTU+4m5GIyLQYND04eJkxIyIyNQatmngGECIi88CgVQNjRkRkPhg0HTFmRETmhUHTAWNGRGR+GLQqYsyIiMyTRQRt+fLl8Pf3h6OjI9q1a4fff//dJONgzIiIzJfZB23Tpk2IjIzE3LlzkZycjG7duiE0NBTXr1836jh4CRgiIvMmE0IIUw+iIp06dULbtm2xYsUK1bRmzZph+PDhiI6OrnT5nJwcKBQKZGdnw9XVVacx8EvTRESmo+3vcbPeQnv06BFOnDiBkJAQtekhISE4dOiQxmWUSiVycnLUbtXBmBERWQazDtqdO3dQXFwMT09Ptemenp7IzMzUuEx0dDQUCoXq5uvrq/PzM2ZERJbDrINWSiaTqd0XQpSZVmrOnDnIzs5W3dLT03V6TsaMiMiy2Jl6ABWpU6cObG1ty2yNZWVlldlqKyWXyyGXy6v1vLwEDBGR5THrLTQHBwe0a9cOu3fvVpu+e/dudOnSxSDPyUvAEBFZJrPeQgOAmTNnYvz48Wjfvj2Cg4Px5Zdf4vr163j11Vf1/lzczUhEZLnMPmijRo3C3bt38d577yEjIwMtW7bEzp074efnp9fn4SVgiIgsm9l/D626tPn+As8AQkRkviTxPTRjYMyIiKTBqoPGmBERSYfVBo0xIyKSFqsMGmNGRCQ9Vhc0xoyISJqsKmiMGRGRdJn999D05ciVu3hjy3nGjIhIoqxmC+31DUmMGRGRhFlN0B4xZkREkib5XY6lJ0IJ9nXC4qGNoczPg9LEYyIiIu2VXqi5shNbSf7UVzdu3KjWRT6JiMg8pKeno379+uU+LvmglZSU4NatW3BxcSn3oqCVycnJga+vL9LT0ys8j5il4uuzbHx9lo2vr3JCCOTm5sLHxwc2NuV/Uib5XY42NjYVFr0qXF1dJfk/XCm+PsvG12fZ+PoqplAoKp3Hag4KISIiaWPQiIhIEhg0LcjlckRFRUEul5t6KAbB12fZ+PosG1+f/kj+oBAiIrIO3EIjIiJJYNCIiEgSGDQiIpIEBo2IiCSBQfuf5cuXw9/fH46OjmjXrh1+//33CudPTExEu3bt4OjoiEaNGmHlypVGGmnVREdHo0OHDnBxcYGHhweGDx+OCxcuVLhMQkICZDJZmdv58+eNNGrtzZ8/v8w4vby8KlzGUt47AGjYsKHG9yIiIkLj/Ob+3u3fvx9DhgyBj48PZDIZ4uLi1B4XQmD+/Pnw8fGBk5MTevbsibNnz1a63i1btqB58+aQy+Vo3rw5tm3bZqBXULGKXl9hYSFmzZqFVq1awdnZGT4+PpgwYQJu3bpV4TpjY2M1vqcFBQUGfjVlVfb+hYeHlxln586dK12vvt4/Bg3Apk2bEBkZiblz5yI5ORndunVDaGgorl+/rnH+1NRUDBw4EN26dUNycjL+7//+D9OnT8eWLVuMPPLKJSYmIiIiAkeOHMHu3btRVFSEkJAQ5OXlVbrshQsXkJGRobo1adLECCOuuhYtWqiN8/Tp0+XOa0nvHQAcO3ZM7bXt3r0bAPDiiy9WuJy5vnd5eXlo3bo1li1bpvHxpUuX4qOPPsKyZctw7NgxeHl5oV+/fsjNzS13nYcPH8aoUaMwfvx4nDp1CuPHj8fIkSPxxx9/GOpllKui15efn4+kpCTMmzcPSUlJ2Lp1Ky5evIihQ4dWul5XV1e19zMjIwOOjo6GeAkVquz9A4ABAwaojXPnzp0VrlOv758g0bFjR/Hqq6+qTQsMDBSzZ8/WOP/bb78tAgMD1aZNnTpVdO7c2WBj1JesrCwBQCQmJpY7T3x8vAAg7t+/b7yB6SgqKkq0bt1a6/kt+b0TQogZM2aIgIAAUVJSovFxS3rvAIht27ap7peUlAgvLy+xePFi1bSCggKhUCjEypUry13PyJEjxYABA9Sm9e/fX4wePVrvY66Kp1+fJkePHhUAxLVr18qdJyYmRigUCv0OTg80vb6wsDAxbNiwKq1Hn++f1W+hPXr0CCdOnEBISIja9JCQEBw6dEjjMocPHy4zf//+/XH8+HEUFhYabKz6kJ2dDQBwc3OrdN6goCB4e3ujT58+iI+PN/TQdHbp0iX4+PjA398fo0ePxtWrV8ud15Lfu0ePHmH9+vV4+eWXKz3RtqW8d09KTU1FZmam2vsjl8vRo0ePcn8WgfLf04qWMRfZ2dmQyWSoVatWhfM9fPgQfn5+qF+/PgYPHozk5GTjDFAHCQkJ8PDwwDPPPIMpU6YgKyurwvn1+f5ZfdDu3LmD4uJieHp6qk339PREZmamxmUyMzM1zl9UVIQ7d+4YbKzVJYTAzJkz0bVrV7Rs2bLc+by9vfHll19iy5Yt2Lp1K5o2bYo+ffpg//79Rhytdjp16oSvv/4av/76K1avXo3MzEx06dIFd+/e1Ti/pb53ABAXF4cHDx4gPDy83Hks6b17WunPW1V+FkuXq+oy5qCgoACzZ8/GmDFjKjxpb2BgIGJjY7F9+3Z89913cHR0xLPPPotLly4ZcbTaCQ0Nxbfffot9+/bh//2//4djx46hd+/eUCrLvwqlPt8/yZ9tX1tP/8UrhKjwr2BN82uabk6mTZuGP//8EwcOHKhwvqZNm6Jp06aq+8HBwUhPT8eHH36I7t27G3qYVRIaGqr671atWiE4OBgBAQFYt24dZs6cqXEZS3zvAGDNmjUIDQ2Fj49PufNY0ntXnqr+LOq6jCkVFhZi9OjRKCkpwfLlyyuct3PnzmoHVjz77LNo27YtPv/8c3z22WeGHmqVjBo1SvXfLVu2RPv27eHn54eff/4ZI0aMKHc5fb1/Vr+FVqdOHdja2pb5ayArK6vMXw2lvLy8NM5vZ2cHd3d3g421Ot544w1s374d8fHxOl1Op3Pnzmb5F+HTnJ2d0apVq3LHaonvHQBcu3YNe/bsweTJk6u8rKW8d6VHp1blZ7F0uaouY0qFhYUYOXIkUlNTsXv37ipfUsXGxgYdOnSwiPfU29sbfn5+FY5Vn++f1QfNwcEB7dq1Ux09Vmr37t3o0qWLxmWCg4PLzP/bb7+hffv2sLe3N9hYdSGEwLRp07B161bs27cP/v7+Oq0nOTkZ3t7eeh6d/imVSpw7d67csVrSe/ekmJgYeHh4YNCgQVVe1lLeO39/f3h5eam9P48ePUJiYmK5P4tA+e9pRcuYSmnMLl26hD179uj0R5QQAidPnrSI9/Tu3btIT0+vcKx6ff+qfBiJBG3cuFHY29uLNWvWiJSUFBEZGSmcnZ1FWlqaEEKI2bNni/Hjx6vmv3r1qqhRo4Z48803RUpKilizZo2wt7cXmzdvNtVLKNdrr70mFAqFSEhIEBkZGapbfn6+ap6nX9/HH38stm3bJi5evCjOnDkjZs+eLQCILVu2mOIlVOitt94SCQkJ4urVq+LIkSNi8ODBwsXFRRLvXani4mLRoEEDMWvWrDKPWdp7l5ubK5KTk0VycrIAID766CORnJysOspv8eLFQqFQiK1bt4rTp0+Ll156SXh7e4ucnBzVOsaPH692BPLBgweFra2tWLx4sTh37pxYvHixsLOzE0eOHDGr11dYWCiGDh0q6tevL06ePKn286hUKst9ffPnzxe7du0SV65cEcnJyWLixInCzs5O/PHHH2b1+nJzc8Vbb70lDh06JFJTU0V8fLwIDg4W9erVM9r7x6D9zxdffCH8/PyEg4ODaNu2rdph7WFhYaJHjx5q8yckJIigoCDh4OAgGjZsKFasWGHkEWsHgMZbTEyMap6nX9+SJUtEQECAcHR0FLVr1xZdu3YVP//8s/EHr4VRo0YJb29vYW9vL3x8fMSIESPE2bNnVY9b8ntX6tdffxUAxIULF8o8ZmnvXenXCp6+hYWFCSEeH7ofFRUlvLy8hFwuF927dxenT59WW0ePHj1U85f64YcfRNOmTYW9vb0IDAw0WcAren2pqanl/jzGx8er1vH064uMjBQNGjQQDg4Oom7duiIkJEQcOnTI+C9OVPz68vPzRUhIiKhbt66wt7cXDRo0EGFhYeL69etq6zDk+8fLxxARkSRY/WdoREQkDQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBFZkPnz56NNmzaq++Hh4Rg+fLjRx5GWlgaZTIaTJ08a/bmJysOgEenBk5eet7e3R6NGjfDvf/9bqyuDV8enn36K2NhYreZlhEjqePkYIj0ZMGAAYmJiUFhYiN9//x2TJ09GXl4eVqxYoTZfYWGh3k6ErFAo9LIeIingFhqRnsjlcnh5ecHX1xdjxozB2LFjERcXp9pNuHbtWjRq1AhyuRxCCGRnZ+OVV16Bh4cHXF1d0bt3b5w6dUptnYsXL4anpydcXFwwadIkFBQUqD3+9C7HkpISLFmyBI0bN4ZcLkeDBg2waNEiAFBdaSEoKAgymQw9e/ZULRcTE4NmzZrB0dERgYGBZa7RdfToUQQFBcHR0RHt27c36ysmk/XiFhqRgTg5OaGwsBAAcPnyZXz//ffYsmULbG1tAQCDBg2Cm5sbdu7cCYVCgVWrVqFPnz64ePEi3Nzc8P333yMqKgpffPEFunXrhm+++QafffYZGjVqVO5zzpkzB6tXr8bHH3+Mrl27IiMjA+fPnwfwOEodO3bEnj170KJFCzg4OAAAVq9ejaioKCxbtgxBQUFITk7GlClT4OzsjLCwMOTl5WHw4MHo3bs31q9fj9TUVMyYMcPA/3pEOtDplMZEpCYsLEwMGzZMdf+PP/4Q7u7uYuTIkSIqKkrY29uLrKws1eN79+4Vrq6uoqCgQG09AQEBYtWqVUIIIYKDg8Wrr76q9ninTp1E69atNT5vTk6OkMvlYvXq1RrHWHq29+TkZLXpvr6+YsOGDWrT3n//fREcHCyEEGLVqlXCzc1N5OXlqR5fsWKFxnURmRJ3ORLpyU8//YSaNWvC0dERwcHB6N69Oz7//HMAgJ+fH+rWraua98SJE3j48CHc3d1Rs2ZN1S01NRVXrlwBAJw7dw7BwcFqz/H0/SedO3cOSqUSffr00XrMt2/fRnp6OiZNmqQ2joULF6qNo3Xr1qhRo4ZW4yAyFe5yJNKTXr16YcWKFbC3t4ePj4/agR/Ozs5q85aUlMDb2xsJCQll1lOrVi2dnt/JyanKy5SUlAB4vNuxU6dOao+V7hoVvMIUWQgGjUhPnJ2d0bhxY63mbdu2LTIzM2FnZ4eGDRtqnKdZs2Y4cuQIJkyYoJp25MiRctfZpEkTODk5Ye/evZg8eXKZx0s/MysuLlZN8/T0RL169XD16lWMHTtW43qbN2+Ob775Bn///bcqmhWNg8hUuMuRyAT69u2L4OBgDB8+HL/++ivS0tJw6NAhvPPOOzh+/DgAYMaMGVi7di3Wrl2LixcvIioqCmfPni13nY6Ojpg1axbefvttfP3117hy5QqOHDmCNWvWAAA8PDzg5OSEXbt24a+//kJ2djaAx1/Wjo6OxqeffoqLFy/i9OnTiImJwUcffQQAGDNmDGxsbDBp0iSkpKRg586d+PDDDw38L0RUdQwakQnIZDLs3LkT3bt3x8svv4xnnnkGo0ePRlpaGjw9PQEAo0aNwrvvvotZs2ahXbt2uHbtGl577bUK1ztv3jy89dZbePfdd9GsWTOMGjUKWVlZAAA7Ozt89tlnWLVqFXx8fDBs2DAAwOTJk/HVV18hNjYWrVq1Qo8ePRAbG6s6zL9mzZrYsWMHUlJSEBQUhLlz52LJkiUG/Nch0o1McAc5ERFJALfQiIhIEhg0IiKSBAaNiIgkgUEjIiJJYNCIiEgSGDQiIpIEBo2IiCSBQSMiIklg0IiISBIYNCIikgQGjYiIJIFBIyIiSfj/IxDh1xn5KigAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.3447±0.1288 95CI=(0.1899, 0.5692)\n", - " MSE: 0.3078±0.2553 95CI=(0.0473, 0.7105)\n", - " R2: 0.7518±0.2481 95CI=(0.2974, 0.9662)\n", - "RMSE: 0.5049±0.2301 95CI=(0.2174, 0.8429)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2467±0.0704 95CI=(0.1483, 0.3732)\n", - " MSE: 0.0879±0.0470 95CI=(0.0278, 0.1694)\n", - " R2: 0.7269±0.9792 95CI=(0.6081, 0.9601)\n", - "RMSE: 0.2860±0.0784 95CI=(0.1666, 0.4116)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9zUlEQVR4nO3deVwU9ePH8fdyLYewCsqlXKKJB+GteJ+oeWRlninmURlmqBWalXQY6rcsj6QyFcvs8qBMUykF8z7ANI+8UEkh82gRCOT4/P7wx+bKLizLnrPv5+Oxj0fMzsx+1klezuzMjkwIIUBERGTl7Mw9ACIiIkNg0IiISBIYNCIikgQGjYiIJIFBIyIiSWDQiIhIEhg0IiKSBAaNiIgkgUEjIiJJYNDIYmRkZGDo0KHw9/eHq6srwsLC8NZbb6GgoMCgrxMcHIxBgwZVmP7ZZ5/B3t4eQ4YMQWFhodblL126BJlMhqSkJNW0+Ph4yGQy2NnZ4eLFixWWyc/Ph4eHB2QyGcaPH2+It0E1sG7dOnz44YfmHgYZGINGFuHUqVPo1KkTLl26hA8//BA//vgjRo4cibfeegujRo0y+uv/73//w+TJkzFmzBhs3LgRzs7Oeq2nVq1aWL16dYXp3333HYqLi+Ho6FjToZIBMGjSxKCRRVi3bh0KCwuxYcMGDB8+HL169UJ8fDwmTpyIH374Abdv3zbaa7/66qt45ZVX8MILL2DNmjVwcHDQe10jRozAmjVrUFZWpjZ95cqVeOyxx+Dk5FTT4ZqdofeYiQyFQSOLUL7nolAo1KbXrl0bdnZ2VYZg/PjxqFWrFk6ePInevXvDzc0N9erVw9SpU7X+Ai4rK8OUKVOQkJCAN954A0uWLIFMJlOb59q1axg+fDjc3d2hUCgwYsQI5OTkaB3HhAkTkJWVhZSUFNW0s2fPYs+ePZgwYYLGZXJzc/HSSy8hJCQETk5OqF+/PmJjY5Gfn68230cffYRu3brB29sbbm5uCA8Px8KFC1FcXKw2X0ZGBgYNGgRvb2/I5XL4+/tj4MCB+PPPPwFoPmRaTiaTIT4+XvVz+aHU9PR0DBs2DHXq1EFoaCgAQAiB5cuXo2XLlnBxcUGdOnUwbNiwCodce/TogRYtWmD//v3o1KkTXFxcEBwcrNqT3bJlC1q3bg1XV1eEh4dj27ZtFcZ17tw5jB49WvWemjZtio8++khtntTUVMhkMnz11VeYM2cO/P394eHhgT59+uCPP/5QG8+WLVtw+fJlyGQy1YMkQBBZgMzMTFG7dm0xbNgwceHCBZGbmys2b94sFAqFeOGFF6pcPjo6Wjg5OYnAwEAxb948sWPHDhEfHy8cHBzEoEGD1OYNCgoSUVFRYuTIkUImk4nFixdrXGdBQYFo2rSpUCgUYunSpWL79u1i2rRpIjAwUAAQq1evVs07d+5cAUD8/fffomvXrmL48OGq5+Li4kRwcLAoKysTbm5uIjo6WvVcfn6+aNmypahbt65YtGiR+Pnnn8XixYuFQqEQvXr1EmVlZap5p0+fLhITE8W2bdvEzp07xQcffCDq1q0rnn76adU8eXl5wsvLS7Rt21Z8++23Ii0tTXzzzTfiueeeE6dOnVL9WT84/nIAxNy5cyu8r6CgIBEXFydSUlJEcnKyEEKIyZMnC0dHRzFz5kyxbds2sW7dOhEWFiZ8fHxETk6Oah3du3cXXl5eokmTJmLlypVi+/btYtCgQQKAePPNN0V4eLj46quvxNatW0XHjh2FXC4XV69eVS1/8uRJoVAoRHh4uPj888/Fjh07xMyZM4WdnZ2Ij49Xzbdr1y4BQAQHB4sxY8aILVu2iK+++koEBgaKxo0bi5KSEtX6OnfuLHx9fcX+/ftVD7J+DBpZjNOnT4uwsDABQPWYNm2a2i91baKjowWACnGaN2+eACD27NmjmhYUFKRa/6uvvqp1nYmJiQKA+P7779WmT548udKgrV69WsjlcnHz5k1RUlIi/Pz8VL94HwxaQkKCsLOzE4cPH1Z7jfXr1wsAYuvWrRrHVlpaKoqLi8Xnn38u7O3txa1bt4QQQhw5ckQAUEVHE32C9sYbb6jNt3//fgFAvP/++2rTs7KyhIuLi3jllVdU07p37y4AiCNHjqim3bx5U9jb2wsXFxe1eB07dkwAEEuWLFFN69evn2jQoIFQKpVqrzV16lTh7Oyseu/lQXvkkUfU5vv2228FALVoDRw4UAQFBWn5EyJrxUOOZBEuXbqEwYMHw8vLC+vXr0daWhoWLlyIpKQkTJo0Sef1jBkzRu3n0aNHAwB27dqlNr1ly5YIDAzEsmXLcODAAY3r2rVrF9zd3TFkyBCN69TmySefhJOTE7788kts3boVOTk5Ws9s/PHHH9GiRQu0bNkSJSUlqke/fv0gk8mQmpqqmjcjIwNDhgyBl5cX7O3t4ejoiHHjxqG0tBRnz54FADRq1Ah16tRBXFwcPv74Y5w6darSserqiSeeqDBumUyGp556Sm3cvr6+iIiIUBs3APj5+aFNmzaqnz09PeHt7Y2WLVvC399fNb1p06YAgMuXLwMACgsL8csvv+Cxxx6Dq6ur2ms98sgjKCwsrLD9HtxeDz/8sNo6Sbr0//SbyIBmzZqF3NxcHDt2DG5ubgCAbt26oW7dupgwYQLGjRuH7t27V7oOBwcHeHl5qU3z9fUFANy8eVNtev369bFx40b07NkT/fr1w7Zt2xAZGak2z82bN+Hj41PhdcrXqY2bmxtGjBiBVatWISgoCH369EFQUJDGef/66y+cP39e69mPN27cAABcuXIFXbt2RZMmTbB48WIEBwfD2dkZhw4dQkxMDP79918A9z6DTEtLw7x58/Dqq6/i9u3b8PPzw+TJk/Haa6/pfZaln59fhXELITT++QBAw4YN1X729PSsMI+Tk1OF6eWflZZfNnHz5k2UlJRg6dKlWLp0qcbXKv8zKvfg/wNyuRwAVH9GJF0MGlmEY8eOoVmzZqqYlWvXrh0A4Pfff68yaCUlJbh586baL7TyEzge/CUHACEhIUhNTVWLWqdOnVTPe3l54dChQxWWq+ykkHITJkzAZ599huPHj+PLL7/UOl/dunXh4uKCVatWaX0eAJKTk5Gfn4+NGzeqxfHYsWMVlgkPD8fXX38NIQSOHz+OpKQkvPXWW3BxccGsWbNUlyQUFRWpLfdg9O/34EkTdevWhUwmw6+//qoKxv00TdNHnTp1YG9vj7FjxyImJkbjPCEhIQZ5LbJ+DBpZBH9/f/z+++/Iy8tDrVq1VNP3798PAGjQoIFO6/nyyy8xbdo01c/r1q0DcO/MNk2Cg4NVUevfvz9++ukndO7cGQDQs2dPfPvtt/jhhx/UDmOVr7MykZGRmDBhApRKJR577DGt8w0aNAjvvvsuvLy8Kv3FXB6U+0MhhMCKFSsqXSYiIgIffPABkpKSkJ6eDgDw8fGBs7Mzjh8/rjb/999/X+X7un/c8+fPx9WrVzF8+HCdl6suV1dX9OzZExkZGXj44YcNdtmDXC7nHpsEMWhkEWJjYzF06FD07dsX06dPR926dXHgwAEkJCSgWbNmGDBgQJXrcHJywvvvv4+8vDy0a9cO+/btwzvvvIMBAwagS5cuWpcLCgpSi9rWrVvRtWtXjBs3Dh988AHGjRuHefPmoXHjxti6dSu2b9+u03tauXKlTu97w4YN6NatG6ZPn46HH34YZWVluHLlCnbs2IGZM2eiQ4cO6Nu3L5ycnDBq1Ci88sorKCwsRGJiYoXr83788UcsX74cQ4cORcOGDSGEwMaNG/HPP/+gb9++AKD67GvVqlUIDQ1FREQEDh06pFOoy3Xu3BnPPPMMnn76aRw5cgTdunWDm5sbsrOzsWfPHoSHh2PKlCk6r68yixcvRpcuXdC1a1dMmTIFwcHBuHPnDs6fP4/Nmzdj586d1V5neHg4Nm7ciMTERLRp0wZ2dnZo27atQcZLZmTec1KI/rNz504RFRUlfH19hYuLi3jooYfEzJkzxY0bN6pcNjo6Wri5uYnjx4+LHj16CBcXF+Hp6SmmTJki8vLy1OYNCgoSAwcOrLCOK1euiNDQUOHm5ibS0tKEEEL8+eef4oknnhC1atUS7u7u4oknnhD79u2r9CzHyjx4lqMQ9061f+2110STJk2Ek5OT6hT16dOnq53+vnnzZhERESGcnZ1F/fr1xcsvvyx++uknAUDs2rVLCCHEmTNnxKhRo0RoaKhwcXERCoVCtG/fXiQlJam9plKpFJMmTRI+Pj7Czc1NDB48WFy6dEnrWY7a3teqVatEhw4dhJubm3BxcRGhoaFi3Lhxamc0du/eXTRv3rzCstq2AwARExOjNi0zM1NMmDBB1K9fXzg6Oop69eqJTp06iXfeeUc1T/lZjt99912FZR/cXrdu3RLDhg0TtWvXFjKZTPBXoTTIhBDCbDUlMpDx48dj/fr1yMvLM/dQiMhMeNo+ERFJAoNGRESSwEOOREQkCdxDIyIiSWDQiIhIEhg0IiKSBMlfWF1WVoZr167B3d2d9zwiIrJCQgjcuXMH/v7+sLPTvh8m+aBdu3YNAQEB5h4GERHVUFZWVqVfgyf5oLm7uwO49wfh4eFh5tEQEZEu9l+4iZh16bhbUobIABd8O3Ow6ve5NpIPWvlhRg8PDwaNiMgK7Dl3A9M2nEGJvTP6NvfG/CGN8O3Mind9eBBPCiEiIoux59wNTFxzGEUlZegd5o3lT7WG3MFep2UZNCIisgj3x6xXNWMGMGhERGQBHtwzS6xmzAAGjYiIzKwmhxnvx6AREZHZ7D1vmJgBDBoREZnJ3vM3MCHJMDEDGDQiIjIDQ8cMYNCIiMjEjBEzgEEjIiITMlbMAAaNiIhMxJgxAxg0IiIyAWPHDGDQiIjIyPacM37MAAaNiIiMyFAXTeuCQSMiIqMwZcwABo2IiIzA1DEDGDQiIjIwc8QMYNCIiMiAanoLmJpg0IiIyCAMcQuYmmDQiIioxsx1mPF+DBoREdWIIW8BUxMMGhER6c0U3wCiKwaNiIj0YkkxAxg0IiLSg6XFDGDQiIiomiwxZgCDRkRE1WCpMQMYNCIi0pElxwxg0IiISAeWHjOAQSMioipYQ8wABo2IiCphLTEDGDQiItLCmmIGMGhERKSBtcUMYNCIiOgB1hgzwMxB2717NwYPHgx/f3/IZDIkJydrnffZZ5+FTCbDhx9+aLLxERHZGmuNGWDmoOXn5yMiIgLLli2rdL7k5GQcPHgQ/v7+JhoZEZHtseaYAYCDOV98wIABGDBgQKXzXL16FVOnTsX27dsxcOBAE42MiMi2WHvMADMHrSplZWUYO3YsXn75ZTRv3lynZYqKilBUVKT6OTc311jDIyKSBCnEDLDwk0IWLFgABwcHTJs2TedlEhISoFAoVI+AgAAjjpCIyLpJJWaABQft6NGjWLx4MZKSkiCTyXRebvbs2VAqlapHVlaWEUdJRGS9pBQzwIKD9uuvv+L69esIDAyEg4MDHBwccPnyZcycORPBwcFal5PL5fDw8FB7EBGROqnFDLDgz9DGjh2LPn36qE3r168fxo4di6efftpMoyIisn5SjBlg5qDl5eXh/Pnzqp8zMzNx7NgxeHp6IjAwEF5eXmrzOzo6wtfXF02aNDH1UImIJEGqMQPMHLQjR46gZ8+eqp9nzJgBAIiOjkZSUpKZRkVEJE1Sjhlg5qD16NEDQgid57906ZLxBkNEJGFSjxlgwSeFEBGRYdhCzAAGjYhI0mwlZgCDRkQkWbYUM4BBIyKSJFuLGcCgERFJji3GDGDQiIgkxVZjBjBoRESSYcsxAxg0IiJJsPWYAQwaEZHVY8zuYdCIiKzYnnOMWTkGjYjISu05dwMT1zBm5Rg0IiIrxJhVxKAREVkZxkwzBo2IyIowZtoxaEREVuL+mPVizCpg0IiIrMCDe2aJjFkFDBoRkYXjYUbdMGhERBZs73nGTFcMGhGRheI3gFQPg0ZEZIEYs+pj0IiILAxjph8GjYjIgjBm+mPQiIgsBGNWMwwaEZEFYMxqjkEjIjIz3gLGMBg0IiIz4kXThsOgERGZCWNmWAwaEZEZMGaGx6AREZkYY2YcDBoRkQnxFjDGw6AREZkIbwFjXAwaEZEJ8DCj8TFoRERGxlvAmAaDRkRkRPwGENMxa9B2796NwYMHw9/fHzKZDMnJyarniouLERcXh/DwcLi5ucHf3x/jxo3DtWvXzDdgIqJqYMxMy6xBy8/PR0REBJYtW1bhuYKCAqSnp+P1119Heno6Nm7ciLNnz2LIkCFmGCkRUfUwZqYnE0IIcw8CAGQyGTZt2oShQ4dqnefw4cNo3749Ll++jMDAQJ3Wm5ubC4VCAaVSCQ8PDwONlohIO8bMsHT9Pe5gwjHVmFKphEwmQ+3atbXOU1RUhKKiItXPubm5JhgZEdE9jJn5WM1JIYWFhZg1axZGjx5daaETEhKgUChUj4CAABOOkohsGWNmXlYRtOLiYowcORJlZWVYvnx5pfPOnj0bSqVS9cjKyjLRKInIljFm5mfxhxyLi4sxfPhwZGZmYufOnVV+DiaXyyGXy000OiIixsxSWHTQymN27tw57Nq1C15eXuYeEhGRGsbMcpg1aHl5eTh//rzq58zMTBw7dgyenp7w9/fHsGHDkJ6ejh9//BGlpaXIyckBAHh6esLJyclcwyYiAsCYWRqznrafmpqKnj17VpgeHR2N+Ph4hISEaFxu165d6NGjh06vwdP2icgYGDPTsYrT9nv06IHKemohl8gREalhzCyTVZzlSERkKRgzy8WgERHpiDGzbAwaEZEOGDPLx6AREVWBMbMODBoRUSUYM+vBoBERacGYWRcGjYhIA8bM+jBoREQPYMysE4NGRHQfxsx6MWhERP+PMbNuDBoRERgzKWDQiMjmMWbSwKARkU1jzKSDQSMim8WYSQuDRkQ2iTGTHgaNiGwOYyZNDBoR2RTGTLoYNCKyGYyZtDFoRGQTGDPpY9CISPIYM9vAoBGRpO05x5jZCgaNiCRrz7kbmLiGMbMVDBoRSRJjZnsYNCKSHMbMNjFoRCQpjJntYtCISDLuj1kvxszmMGhEJAkP7pklMmY2h0EjIqvHw4wEMGhEZOX2nmfM6B4GjYisFr8BhO7HoBGRVWLM6EEMGhFZHcaMNGHQiMiqMGakDYNGRFaDMaPKmDVou3fvxuDBg+Hv7w+ZTIbk5GS154UQiI+Ph7+/P1xcXNCjRw+cPHnSPIMlIrNizKgqZg1afn4+IiIisGzZMo3PL1y4EIsWLcKyZctw+PBh+Pr6om/fvrhz546JR0pE5sRbwJAuHMz54gMGDMCAAQM0PieEwIcffog5c+bg8ccfBwCsWbMGPj4+WLduHZ599llTDpWIzIQXTZOuLPYztMzMTOTk5CAqKko1TS6Xo3v37ti3b5/W5YqKipCbm6v2ICLrxJhRdVhs0HJycgAAPj4+atN9fHxUz2mSkJAAhUKhegQEBBh1nERkHIwZVZfFBq2cTCZT+1kIUWHa/WbPng2lUql6ZGVlGXuIRGRgjBnpw6yfoVXG19cXwL09NT8/P9X069evV9hru59cLodcLjf6+IjIOHgLGNKXxe6hhYSEwNfXFykpKappd+/eRVpaGjp16mTGkRGRsfAWMFQTZt1Dy8vLw/nz51U/Z2Zm4tixY/D09ERgYCBiY2Px7rvvonHjxmjcuDHeffdduLq6YvTo0WYcNREZAw8zUk2ZNWhHjhxBz549VT/PmDEDABAdHY2kpCS88sor+Pfff/H888/j9u3b6NChA3bs2AF3d3dzDZmIjIC3gCFDkAkhhLkHYUy5ublQKBRQKpXw8PAw93CI6AH8BhCqiq6/xy32MzQikj7GjAyJQSMis2DMyNAYNCIyOcaMjIFBIyKTYszIWBg0IjIZxoyMiUEjIpNgzMjYGDQiMjrGjEyBQSMio2LMyFQYNCIyGsaMTMliv22fiCxTaZnAocxbuH6nEN7uzmgf4gl7u4q3dGLMyNQYNCLS2bbfs/Hm5lPIVhaqpvkpnDF3cDP0b/HfbZ4YMzIHHnIkIgD39rz2X7iJ749dxf4LN1Fapv41r9t+z8aUtelqMQOAHGUhpqxNx7bfswEwZmQ+3EMjoir3vErLBN7cfAqavslcAJABeHPzKbg6OWDy50cYMzILfts+kY0r3/N68BdB+adiiU+1hsLFCaNWHKhyXY72MhSXCsaMDIrftk9EVapqzwu4t+eVo/xXp/UxZmRODBqRDTuUeavCZ2L3EwCylYW4lX9Xp/W1DqzNmJHZMGhENuz6He0xu59nLTn8FM6oeHL+f+QOdlg7qQNjRmbDoBHZMG93Z53m8/W4d4IIAK1Re+/Jh+HqxPPMyHwYNCIb1j7Es9I9LxkAXw85yoRAUUkZYvs0ho+HXG0euYMdlo5qicER9Y0+XqLK6PzPqSVLlui80mnTpuk1GCIyLXs7GeYOboYpa9MhA9RODin/ubCkDGM+O6iaXsfVEfZ2MpSWCbQOrI21kzpwz4wsgs6n7YeEhKj9/Pfff6OgoAC1a9cGAPzzzz9wdXWFt7c3Ll68aPCB6oun7RNVTdN1aK5O9ii4W6p1mfD6Hlg/pRM/MyOjM/hp+5mZmarHvHnz0LJlS5w+fRq3bt3CrVu3cPr0abRu3Rpvv/22Qd4AEZlO/xZ+2BPXC9P7PITaLo4AUGnMAODvO0VwsOOnFmQ59LqwOjQ0FOvXr0erVq3Uph89ehTDhg1DZmamwQZYU9xDI9KNtgusK/PV5I6IDPUy2piIACNfWJ2dnY3i4uIK00tLS/HXX3/ps0oiMqPKLrCujK6n/ROZgl5B6927NyZPnowjR46gfAfvyJEjePbZZ9GnTx+DDpCIjK+qC6y10fW0fyJT0Ctoq1atQv369dG+fXs4OztDLpejQ4cO8PPzw2effWboMRKRkVV3T0uGe19e3D7E0zgDItKDXufa1qtXD1u3bsXZs2dx5swZCCHQtGlTPPTQQ4YeHxGZQHX2tMqvWZs7uJnGG3sSmUuNLh4JDg6GEAKhoaFwcOB1KETWqvwC6xxlYZWfo/lquKEnkSXQ65BjQUEBJk6cCFdXVzRv3hxXrlwBcO+C6vnz5xt0gERkfOUXWGuKWfk+2ITOwfhqckfsievFmJFF0itos2fPxm+//YbU1FQ4O/93qKJPnz745ptvDDY4IjIdd2dHONpXPIToq3DGx0+1xhuDmyMy1IuHGcli6XWcMDk5Gd988w06duwImey//7mbNWuGCxcuGGxwRGQae8/fwISkwyguFegV5o3xnYJxu+AuvN3vnfjBiJE10Ctof//9N7y9vStMz8/PVwscEVm+PeduYOKawygqKePNOcmq6XXIsV27dtiyZYvq5/KIrVixApGRkYYZGREZHWNGUqLXHlpCQgL69++PU6dOoaSkBIsXL8bJkyexf/9+pKWlGWxwJSUliI+Px5dffomcnBz4+flh/PjxeO2112DH75AjqhHGjKRGryp06tQJe/fuRUFBAUJDQ7Fjxw74+Phg//79aNOmjcEGt2DBAnz88cdYtmwZTp8+jYULF+J///sfli5darDXILJFjBlJkV5fTmwqgwYNgo+PD1auXKma9sQTT8DV1RVffPGFTuvglxMTqWPMyNoY9cuJe/bsiZUrV0KpVOo9QF106dIFv/zyC86ePQsA+O2337Bnzx488sgjRn1dIqm6P2a9GDOSGL2CFh4ejtdeew2+vr544oknkJycjLt37xp6bIiLi8OoUaMQFhYGR0dHtGrVCrGxsRg1apTWZYqKipCbm6v2IKKKe2aJjBlJjF5BW7JkCa5evYrvv/8e7u7uiI6Ohq+vL5555hmDnhTyzTffYO3atVi3bh3S09OxZs0avPfee1izZo3WZRISEqBQKFSPgIAAg42HyFrxMCPZAoN8hlZYWIjNmzdj3rx5OHHiBEpLK7/Tra4CAgIwa9YsxMTEqKa98847WLt2Lc6cOaNxmaKiIhQVFal+zs3NRUBAAD9DI5tVftE0Y0bWStfP0Gr8jcI5OTn4+uuvsXbtWhw/fhzt2rWr6SpVCgoKKpyeb29vj7KyMq3LyOVyyOVyg42ByJoxZmRL9Apabm4uNmzYgHXr1iE1NRUNGzbE6NGj8fXXX6NRo0YGG9zgwYMxb948BAYGonnz5sjIyMCiRYswYcIEg70GkVQxZmRr9Drk6OLigjp16mD48OEYM2aMQffK7nfnzh28/vrr2LRpE65fvw5/f3+MGjUKb7zxBpycnHRaB0/bJ1vEmJGU6Pp7vNpBE0JgxYoVeOqpp+Dq6lrjgRobg0a2hjEjqTHadWhCCEydOhVXr16t0QCJyPAYM7Jl1Q6anZ0dGjdujJs3bxpjPESkJ8aMbJ1e16EtXLgQL7/8Mn7//XdDj4eI9LDnHGNGpNdJIXXq1EFBQQFKSkrg5OQEFxcXtedv3bplsAHWFD9DI6njRdMkdUa9Du3DDz/Ud1xEZECMGdF/9ApadHS0ocdBRPcpLRM4lHkL1+8UwtvdGe1DPGFvp343eMaMSJ3e3xRy4cIFrF69GhcuXMDixYvh7e2Nbdu2ISAgAM2bNzfkGIlsyrbfs/Hm5lPIVhaqpvkpnDF3cDP0b+EHgDEj0kSvk0LS0tIQHh6OgwcPYuPGjcjLywMAHD9+HHPnzjXoAIlsybbfszFlbbpazAAgR1mIKWvTse33bN4ChkgLvYI2a9YsvPPOO0hJSVH7xo6ePXti//79BhsckS0pLRN4c/MpaDpLq3zaq5tO8BYwRFroFbQTJ07gscceqzC9Xr16vD6NSE+HMm9V2DO7nwBwK7+YhxmJtNAraLVr10Z2dnaF6RkZGahfv36NB0Vki67f0R6z+zX392DMiDTQK2ijR49GXFwccnJyIJPJUFZWhr179+Kll17CuHHjDD1GIpvg7e6s03xx/cMYMyIN9Apa+S1d6tevj7y8PDRr1gzdunVDp06d8Nprrxl6jEQ2oX2IJ/wUzpBVMo+vhxydG9U12ZiIrEmN7lh98eJFpKeno6ysDK1atULjxo0NOTaD4DeFkCV78Hqz2/l3EbMuHQA0nhzy8VOtVafuE9kKk9yxumHDhmjYsCFKS0tx4sQJ3L59G3Xq1KnJKolshrbrzZ7pFoLvjv6JW/nFqum+HnLED2nOmBFVQq+gxcbGIjw8HBMnTkRpaSm6d++Offv2wdXVFT/++CN69Ohh4GESSUv59WYP7oXlKAvxye5MONrfO/DY3N8Dcf3D0LlR3QrfFEJE6vT6DG39+vWIiIgAAGzevBkXL17EmTNnEBsbizlz5hh0gERSo8v1ZsWlAr3CvLHx+U7o9lA9xoxIB3oF7caNG/D19QUAbN26FcOHD8dDDz2EiRMn4sSJEwYdIJHUVHW9WbnxnYJ5NiNRNegVNB8fH5w6dQqlpaXYtm0b+vTpAwAoKCiAvT3/AhKVlgnsv3AT3x+7iv0XbqK07L/9MV2vN7tdcNdYwyOSJL0+Q3v66acxfPhw+Pn5QSaToW/fvgCAgwcPIiwszKADJLI2VX25sK7Xm+k6HxHdo1fQ4uPj0aJFC2RlZeHJJ5+EXC4HANjb22PWrFkGHSCRNdF2skf2/3+5cOJTrdG3mS/8FM7IURZq/BxNBsBXce+WMUSkuxpdh2YNeB0amUppmUCXBTsr/XzMT+GMPXG9kHIqB8+tTa/wfPmpH4m83oxIRdff43p9hgYAv/zyCwYNGoTQ0FA0atQIgwYNws8//6zv6oisni4ne2QrC3Eo8xbcnR1Vp+bfz1fhzJgR6UmvQ47Lli3D9OnTMWzYMLz44osAgAMHDuCRRx7BokWLMHXqVIMOksga5Cj/1Wm+3WevY9XeS6pT88d3Csbtgrta70xNRLrR65Bj/fr1MXv27Arh+uijjzBv3jxcu3bNYAOsKR5yJFNZ+etFvL3ldJXzOdjJUFImeAsYIh0Z9ZBjbm4u+vfvX2F6VFQUcnNz9VklkdXzrCXXaT7GjMg49ArakCFDsGnTpgrTv//+ewwePLjGgyKyRr4eup1m3zqwNmNGZAQ6f4a2ZMkS1X83bdoU8+bNQ2pqKiIjIwHc+wxt7969mDlzpuFHSWQFym//UtmJIXIHO6yd1IExIzICnT9DCwkJ0W2FMhkuXrxYo0EZEj9DI1Mqvw4N0Hz7l6WjWmJwBO/qTlQdBr99TGZmZoVpN27cgEwmg5eXl36jJJKY/i38kPhU6wrfFCJ3sMN7Tz7MmBEZUbU/Q/vnn38QExODunXrwsfHB97e3qhbty6mTp2Kf/75xwhDJLIu/Vv4YcETD6uuM2sdWBsZb/RlzIiMrFrXod26dQuRkZG4evUqxowZg6ZNm0IIgdOnTyMpKQm//PIL9u3bx5t8kk3be/4GJn9+BMWlPJuRyJSqFbS33noLTk5OuHDhAnx8fCo8FxUVhbfeegsffPCBQQdJZC32nr+BCUmHUVRSxpgRmVi1DjkmJyfjvffeqxAzAPD19cXChQs1ns5PZAsYMyLzqlbQsrOz0bx5c63Pt2jRAjk5OTUe1P2uXr2Kp556Cl5eXnB1dUXLli1x9OhRg74GUU0xZkTmV61DjnXr1sWlS5fQoEEDjc9nZmYa9IzH27dvo3PnzujZsyd++ukneHt748KFC6hdu7bBXoOophgzIstQraD1798fc+bMQUpKCpycnNSeKyoqwuuvv67xK7H0tWDBAgQEBGD16tWqacHBwQZbP1FNMWZElqNaX078559/om3btpDL5YiJiVHdnfrUqVNYvnw5ioqKcOTIEQQEBBhkcM2aNUO/fv3w559/Ii0tDfXr18fzzz+PyZMn67wOXlhNxsKYEZmGrr/Hq/1t+5mZmXj++eexY8cOlC8qk8nQt29fLFu2DI0aNarZyO/j7Hzvu/FmzJiBJ598EocOHUJsbCw++eQTjBs3TuMyRUVFKCoqUv2cm5uLgIAABo0MijEjMh2jBa3c7du3ce7cOQBAo0aN4Olp+NvFOzk5oW3btti3b59q2rRp03D48GHs379f4zLx8fF48803K0xn0MhQGDMi0zL6Havr1KmD9u3bo3379kaJGQD4+fmhWbNmatOaNm2KK1euaF1m9uzZUCqVqkdWVpZRxka2iTEjslx63bHaVDp37ow//vhDbdrZs2cRFBSkdRm5XA65XLf7UhFVB2NGZNn03kMzhenTp+PAgQN49913cf78eaxbtw6ffvopYmJizD00sjGMGZHls+igtWvXDps2bcJXX32FFi1a4O2338aHH36IMWPGmHtoZEP2nGPMiKyB3ieFWAuetk81sefcDUxcw5gRmZPRTwohkjrGjMi6MGhEGjBmRNaHQSN6AGNGZJ0YNKL73B+zXowZkVVh0Ij+34N7ZomMGZFVYdCIwMOMRFLAoJHN23ueMSOSAgaNbBq/AYRIOhg0slmMGZG0MGhkkxgzIulh0MjmMGZE0sSgkU1hzIiki0Ejm8GYEUkbg0Y2gbeAIZI+Bo0kjxdNE9kGBo0kjTEjsh0MGkkWY0ZkWxg0kiTGjMj2MGgkObwFDJFtYtBIUngLGCLbxaCRZPAwI5FtY9BIEngLGCJi0Mjq8RtAiAhg0MjKMWZEVI5BI6vFmBHR/Rg0skqMGRE9iEEjq8OYEZEmDBpZFcaMiLRh0MhqMGZEVBkGjawCY0ZEVWHQyOIxZkSkCwaNLBpjRkS6YtDIYjFmRFQdDBpZJMaMiKrLqoKWkJAAmUyG2NhYcw+FjIgxIyJ9WE3QDh8+jE8//RQPP/ywuYdCRsSYEZG+rCJoeXl5GDNmDFasWIE6deqYezhkJIwZEdWEVQQtJiYGAwcORJ8+faqct6ioCLm5uWoPsnyMGRHVlIO5B1CVr7/+Gunp6Th8+LBO8yckJODNN9808qjIkBgzIjIEi95Dy8rKwosvvoi1a9fC2dlZp2Vmz54NpVKpemRlZRl5lFQTjBkRGYpMCCHMPQhtkpOT8dhjj8He/r9fcKWlpZDJZLCzs0NRUZHac5rk5uZCoVBAqVTCw8PD2EOmamDMiEgXuv4et+hDjr1798aJEyfUpj399NMICwtDXFxclTEjy8WYEZGhWXTQ3N3d0aJFC7Vpbm5u8PLyqjCdrAdjRkTGYNGfoZH0MGZEZCwWvYemSWpqqrmHQHpizIjImLiHRibBmBGRsTFoZHSMGRGZAoNGRsWYEZGpMGhkNIwZEZkSg0ZGwZgRkakxaGRwjBkRmQODRgbFmBGRuTBoZDCMGRGZE4NGBsGYEZG5MWhUY3vOMWZEZH4MGtXInnM3MHENY0ZE5segkd4YMyKyJAwa6YUxIyJLw6BRtTFmRGSJGDSqlvtj1osxIyILwqCRzh7cM0tkzIjIgjBopBMeZiQiS8egUZX2nmfMiMjyMWhUKX4DCBFZCwaNtGLMiMiaMGikEWNGRNaGQaMKGDMiskYMGqlhzIjIWjFopMKYEZE1Y9AIAG8BQ0TWj0EjXjRNRJLAoNk4xoyIpIJBs2GMGRFJCYNmoxgzIpIaBs0G8RYwRCRFDJqN4S1giEiqGDQbwsOMRCRlDJqN4C1giEjqGDQbwG8AISJbYNFBS0hIQLt27eDu7g5vb28MHToUf/zxh7mHZVUYMyKyFRYdtLS0NMTExODAgQNISUlBSUkJoqKikJ+fb+6hWQXGjIhsiUwIIcw9CF39/fff8Pb2RlpaGrp166bTMrm5uVAoFFAqlfDw8DDyCC0HY0ZEUqHr73EHE46pxpRKJQDA09NT6zxFRUUoKipS/Zybm2v0cVkaxoyIbJFFH3K8nxACM2bMQJcuXdCiRQut8yUkJEChUKgeAQEBJhyl+TFmRGSrrOaQY0xMDLZs2YI9e/agQYMGWufTtIcWEBBgE4ccGTMikiJJHXJ84YUX8MMPP2D37t2VxgwA5HI55HK5iUZmORgzIrJ1Fh00IQReeOEFbNq0CampqQgJCTH3kCwSY0ZEZOFBi4mJwbp16/D999/D3d0dOTk5AACFQgEXFxczj84yMGZERPdY9GdoMplM4/TVq1dj/PjxOq1DyqftM2ZEZAsk8RmaBbfW7BgzIiJ1VnPaPv2HMSMiqohBszKMGRGRZgyaFWHMiIi0Y9CsBGNGRFQ5Bs0KMGZERFVj0CwcY0ZEpBsGzYIxZkREumPQLBRjRkRUPQyaBWLMiIiqj0GzMIwZEZF+GDQLwpgREemPQbMQjBkRUc0waBaAMSMiqjkGzcwYMyIiw2DQzIgxIyIyHAbNTBgzIiLDYtDMgDEjIjI8Bs3EGDMiIuNg0EyIMSMiMh4GzUQYMyIi42LQTGDPOcaMiMjYGDQj23PuBiauYcyIiIyNQTMixoyIyHQYNCNhzIiITItBMwLGjIjI9Bg0A7s/Zr0YMyIik2HQDOjBPbNExoyIyGQYNAPhYUYiIvNi0Axg73nGjIjI3Bi0GuI3gBARWQYGrQYYMyIiy8Gg6YkxIyKyLAyaHhgzIiLLw6BVE2NGRGSZrCJoy5cvR0hICJydndGmTRv8+uuvZhkHY0ZEZLksPmjffPMNYmNjMWfOHGRkZKBr164YMGAArly5YtJx8BYwRESWTSaEEOYeRGU6dOiA1q1bIzExUTWtadOmGDp0KBISEqpcPjc3FwqFAkqlEh4eHnqNgRdNExGZj66/xy16D+3u3bs4evQooqKi1KZHRUVh3759GpcpKipCbm6u2qMmGDMiIutg0UG7ceMGSktL4ePjozbdx8cHOTk5GpdJSEiAQqFQPQICAvR+fcaMiMh6WHTQyslkMrWfhRAVppWbPXs2lEql6pGVlaXXazJmRETWxcHcA6hM3bp1YW9vX2Fv7Pr16xX22srJ5XLI5fIavS5vAUNEZH0seg/NyckJbdq0QUpKitr0lJQUdOrUySivyVvAEBFZJ4veQwOAGTNmYOzYsWjbti0iIyPx6aef4sqVK3juuecM/lo8zEhEZL0sPmgjRozAzZs38dZbbyE7OxstWrTA1q1bERQUZNDX4S1giIism8Vfh1ZTuly/wG8AISKyXJK4Ds0UGDMiImmw6aAxZkRE0mGzQWPMiIikxSaDxpgREUmPzQWNMSMikiabChpjRkQkXRZ/HZqhHLhwEy9sOMOYERFJlM3soT2/Lp0xIyKSMJsJ2l3GjIhI0iR/yLH8i1AiA1wwf0gjFBXko8jMYyIiIt2V36i5qi+2kvxXX/355581usknERFZhqysLDRo0EDr85IPWllZGa5duwZ3d3etNwWtSm5uLgICApCVlVXp94hZK74/68b3Z934/qomhMCdO3fg7+8POzvtn5RJ/pCjnZ1dpUWvDg8PD0n+D1eO78+68f1ZN76/yikUiirnsZmTQoiISNoYNCIikgQGTQdyuRxz586FXC4391CMgu/PuvH9WTe+P8OR/EkhRERkG7iHRkREksCgERGRJDBoREQkCQwaERFJAoP2/5YvX46QkBA4OzujTZs2+PXXXyudPy0tDW3atIGzszMaNmyIjz/+2EQjrZ6EhAS0a9cO7u7u8Pb2xtChQ/HHH39UukxqaipkMlmFx5kzZ0w0at3Fx8dXGKevr2+ly1jLtgOA4OBgjdsiJiZG4/yWvu12796NwYMHw9/fHzKZDMnJyWrPCyEQHx8Pf39/uLi4oEePHjh58mSV692wYQOaNWsGuVyOZs2aYdOmTUZ6B5Wr7P0VFxcjLi4O4eHhcHNzg7+/P8aNG4dr165Vus6kpCSN27SwsNDI76aiqrbf+PHjK4yzY8eOVa7XUNuPQQPwzTffIDY2FnPmzEFGRga6du2KAQMG4MqVKxrnz8zMxCOPPIKuXbsiIyMDr776KqZNm4YNGzaYeORVS0tLQ0xMDA4cOICUlBSUlJQgKioK+fn5VS77xx9/IDs7W/Vo3LixCUZcfc2bN1cb54kTJ7TOa03bDgAOHz6s9t5SUlIAAE8++WSly1nqtsvPz0dERASWLVum8fmFCxdi0aJFWLZsGQ4fPgxfX1/07dsXd+7c0brO/fv3Y8SIERg7dix+++03jB07FsOHD8fBgweN9Ta0quz9FRQUID09Ha+//jrS09OxceNGnD17FkOGDKlyvR4eHmrbMzs7G87OzsZ4C5WqavsBQP/+/dXGuXXr1krXadDtJ0i0b99ePPfcc2rTwsLCxKxZszTO/8orr4iwsDC1ac8++6zo2LGj0cZoKNevXxcARFpamtZ5du3aJQCI27dvm25gepo7d66IiIjQeX5r3nZCCPHiiy+K0NBQUVZWpvF5a9p2AMSmTZtUP5eVlQlfX18xf/581bTCwkKhUCjExx9/rHU9w4cPF/3791eb1q9fPzFy5EiDj7k6Hnx/mhw6dEgAEJcvX9Y6z+rVq4VCoTDs4AxA0/uLjo4Wjz76aLXWY8jtZ/N7aHfv3sXRo0cRFRWlNj0qKgr79u3TuMz+/fsrzN+vXz8cOXIExcXFRhurISiVSgCAp6dnlfO2atUKfn5+6N27N3bt2mXsoent3Llz8Pf3R0hICEaOHImLFy9qndeat93du3exdu1aTJgwocov2raWbXe/zMxM5OTkqG0fuVyO7t27a/27CGjfppUtYymUSiVkMhlq165d6Xx5eXkICgpCgwYNMGjQIGRkZJhmgHpITU2Ft7c3HnroIUyePBnXr1+vdH5Dbj+bD9qNGzdQWloKHx8ftek+Pj7IycnRuExOTo7G+UtKSnDjxg2jjbWmhBCYMWMGunTpghYtWmidz8/PD59++ik2bNiAjRs3okmTJujduzd2795twtHqpkOHDvj888+xfft2rFixAjk5OejUqRNu3rypcX5r3XYAkJycjH/++Qfjx4/XOo81bbsHlf99q87fxfLlqruMJSgsLMSsWbMwevToSr+0NywsDElJSfjhhx/w1VdfwdnZGZ07d8a5c+dMOFrdDBgwAF9++SV27tyJ999/H4cPH0avXr1QVKT9LpSG3H6S/7Z9XT34L14hRKX/CtY0v6bplmTq1Kk4fvw49uzZU+l8TZo0QZMmTVQ/R0ZGIisrC++99x66detm7GFWy4ABA1T/HR4ejsjISISGhmLNmjWYMWOGxmWscdsBwMqVKzFgwAD4+/trnceatp021f27qO8y5lRcXIyRI0eirKwMy5cvr3Tejh07qp1Y0blzZ7Ru3RpLly7FkiVLjD3UahkxYoTqv1u0aIG2bdsiKCgIW7ZsweOPP651OUNtP5vfQ6tbty7s7e0r/Gvg+vXrFf7VUM7X11fj/A4ODvDy8jLaWGvihRdewA8//IBdu3bpdTudjh07WuS/CB/k5uaG8PBwrWO1xm0HAJcvX8bPP/+MSZMmVXtZa9l25WenVufvYvly1V3GnIqLizF8+HBkZmYiJSWl2rdUsbOzQ7t27axim/r5+SEoKKjSsRpy+9l80JycnNCmTRvV2WPlUlJS0KlTJ43LREZGVph/x44daNu2LRwdHY02Vn0IITB16lRs3LgRO3fuREhIiF7rycjIgJ+fn4FHZ3hFRUU4ffq01rFa07a73+rVq+Ht7Y2BAwdWe1lr2XYhISHw9fVV2z53795FWlqa1r+LgPZtWtky5lIes3PnzuHnn3/W6x9RQggcO3bMKrbpzZs3kZWVVelYDbr9qn0aiQR9/fXXwtHRUaxcuVKcOnVKxMbGCjc3N3Hp0iUhhBCzZs0SY8eOVc1/8eJF4erqKqZPny5OnTolVq5cKRwdHcX69evN9Ra0mjJlilAoFCI1NVVkZ2erHgUFBap5Hnx/H3zwgdi0aZM4e/as+P3338WsWbMEALFhwwZzvIVKzZw5U6SmpoqLFy+KAwcOiEGDBgl3d3dJbLtypaWlIjAwUMTFxVV4ztq23Z07d0RGRobIyMgQAMSiRYtERkaG6iy/+fPnC4VCITZu3ChOnDghRo0aJfz8/ERubq5qHWPHjlU7A3nv3r3C3t5ezJ8/X5w+fVrMnz9fODg4iAMHDljU+ysuLhZDhgwRDRo0EMeOHVP7+1hUVKT1/cXHx4tt27aJCxcuiIyMDPH0008LBwcHcfDgQYt6f3fu3BEzZ84U+/btE5mZmWLXrl0iMjJS1K9f32Tbj0H7fx999JEICgoSTk5OonXr1mqntUdHR4vu3burzZ+amipatWolnJycRHBwsEhMTDTxiHUDQONj9erVqnkefH8LFiwQoaGhwtnZWdSpU0d06dJFbNmyxfSD18GIESOEn5+fcHR0FP7+/uLxxx8XJ0+eVD1vzduu3Pbt2wUA8ccff1R4ztq2XfllBQ8+oqOjhRD3Tt2fO3eu8PX1FXK5XHTr1k2cOHFCbR3du3dXzV/uu+++E02aNBGOjo4iLCzMbAGv7P1lZmZq/fu4a9cu1ToefH+xsbEiMDBQODk5iXr16omoqCixb98+0785Ufn7KygoEFFRUaJevXrC0dFRBAYGiujoaHHlyhW1dRhz+/H2MUREJAk2/xkaERFJA4NGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaERWJD4+Hi1btlT9PH78eAwdOtTk47h06RJkMhmOHTtm8tcm0oZBIzKA+2897+joiIYNG+Kll17S6c7gNbF48WIkJSXpNC8jRFLH28cQGUj//v2xevVqFBcX49dff8WkSZOQn5+PxMREtfmKi4sN9kXICoXCIOshkgLuoREZiFwuh6+vLwICAjB69GiMGTMGycnJqsOEq1atQsOGDSGXyyGEgFKpxDPPPANvb294eHigV69e+O2339TWOX/+fPj4+MDd3R0TJ05EYWGh2vMPHnIsKyvDggUL0KhRI8jlcgQGBmLevHkAoLrTQqtWrSCTydCjRw/VcqtXr0bTpk3h7OyMsLCwCvfoOnToEFq1agVnZ2e0bdvWou+YTLaLe2hERuLi4oLi4mIAwPnz5/Htt99iw4YNsLe3BwAMHDgQnp6e2Lp1KxQKBT755BP07t0bZ8+ehaenJ7799lvMnTsXH330Ebp27YovvvgCS5YsQcOGDbW+5uzZs7FixQp88MEH6NKlC7Kzs3HmzBkA96LUvn17/Pzzz2jevDmcnJwAACtWrMDcuXOxbNkytGrVChkZGZg8eTLc3NwQHR2N/Px8DBo0CL169cLatWuRmZmJF1980ch/ekR60OsrjYlITXR0tHj00UdVPx88eFB4eXmJ4cOHi7lz5wpHR0dx/fp11fO//PKL8PDwEIWFhWrrCQ0NFZ988okQQojIyEjx3HPPqT3foUMHERERofF1c3NzhVwuFytWrNA4xvJve8/IyFCbHhAQINatW6c27e233xaRkZFCCCE++eQT4enpKfLz81XPJyYmalwXkTnxkCORgfz444+oVasWnJ2dERkZiW7dumHp0qUAgKCgINSrV08179GjR5GXlwcvLy/UqlVL9cjMzMSFCxcAAKdPn0ZkZKTaazz48/1Onz6NoqIi9O7dW+cx//3338jKysLEiRPVxvHOO++ojSMiIgKurq46jYPIXHjIkchAevbsicTERDg6OsLf31/txA83Nze1ecvKyuDn54fU1NQK66ldu7Zer+/i4lLtZcrKygDcO+zYoUMHtefKD40K3mGKrASDRmQgbm5uaNSokU7ztm7dGjk5OXBwcEBwcLDGeZo2bYoDBw5g3LhxqmkHDhzQus7GjRvDxcUFv/zyCyZNmlTh+fLPzEpLS1XTfHx8UL9+fVy8eBFjxozRuN5mzZrhiy++wL///quKZmXjIDIXHnIkMoM+ffogMjISQ4cOxfbt23Hp0iXs27cPr732Go4cOQIAePHFF7Fq1SqsWrUKZ8+exdy5c3Hy5Emt63R2dkZcXBxeeeUVfP7557hw4QIOHDiAlStXAgC8vb3h4uKCbdu24a+//oJSqQRw72LthIQELF68GGfPnsWJEyewevVqLFq0CAAwevRo2NnZYeLEiTh16hS2bt2K9957z8h/QkTVx6ARmYFMJsPWrVvRrVs3TJgwAQ899BBGjhyJS5cuwcfHBwAwYsQIvPHGG4iLi0ObNm1w+fJlTJkypdL1vv7665g5cybeeOMNNG3aFCNGjMD169cBAA4ODliyZAk++eQT+Pv749FHHwUATJo0CZ999hmSkpIQHh6O7t27IykpSXWaf61atbB582acOnUKrVq1wpw5c7BgwQIj/ukQ6UcmeICciIgkgHtoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERSQKDRkREksCgERGRJPwfSPAEs0HaciEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4523±0.2470 95CI=(0.1672, 0.8707)\n", - " MSE: 0.5403±0.5099 95CI=(0.0346, 1.3158)\n", - " R2: -53.9573±538.8569 95CI=(-0.8780, 0.9748)\n", - "RMSE: 0.6364±0.3677 95CI=(0.1859, 1.1471)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+IElEQVR4nO3deVhU9eLH8c+wzSDCKCCbsokmLuS+4L7ibnYz3MUlK8PMtEKzgrwZ6m3TTCpTsWu2XLcyvS6lUG65gLngLiopXHIJFC7I8v394Y+5DjAwDLOcOfN5Pc88T3PmnDPfcXLenjPnzFEIIQSIiIisnJ2lB0BERGQMDBoREckCg0ZERLLAoBERkSwwaEREJAsMGhERyQKDRkREssCgERGRLDBoREQkCwwaSUZqaipGjhwJPz8/1KlTB6GhoVi4cCHy8/ON+jxBQUEYNmxYhelffPEF7O3tMWLECBQUFOhc/urVq1AoFEhMTNRMi4uLg0KhgJ2dHa5cuVJhmby8PLi5uUGhUGDy5MnGeBlUCxs2bMBHH31k6WGQkTFoJAlpaWno2rUrrl69io8++gg//vgjxowZg4ULF2Ls2LEmf/5//OMfmD59OsaPH4/NmzdDpVIZtJ66deti7dq1Fab/61//QlFRERwdHWs7VDICBk2eGDSShA0bNqCgoACbNm1CZGQk+vbti7i4OEybNg0//PAD7t69a7Lnfv311/Haa6/hxRdfxLp16+Dg4GDwukaPHo1169ahtLRUa/rq1avx5JNPwsnJqbbDtThjbzETGQuDRpJQtuWiVqu1pterVw92dnbVhmDy5MmoW7cuzpw5g379+sHFxQUNGjTAzJkzdX4Al5aWYsaMGYiPj8dbb72F5cuXQ6FQaM1z8+ZNREZGwtXVFWq1GqNHj0ZWVpbOcUydOhUZGRnYs2ePZtqFCxewf/9+TJ06tdJlcnNz8corryA4OBhOTk5o2LAhZs+ejby8PK35PvnkE/Ts2RNeXl5wcXFBWFgYli5diqKiIq35UlNTMWzYMHh5eUGpVMLPzw9Dhw7FH3/8AaDyXaZlFAoF4uLiNPfLdqWmpKRg1KhRqF+/PkJCQgAAQgisXLkSbdq0gbOzM+rXr49Ro0ZV2OXau3dvtGrVCocOHULXrl3h7OyMoKAgzZbs9u3b0a5dO9SpUwdhYWHYuXNnhXFdvHgR48aN07ym5s2b45NPPtGaJykpCQqFAl9//TUWLFgAPz8/uLm5oX///jh//rzWeLZv345r165BoVBobiQDgkgC0tPTRb169cSoUaPE5cuXRW5urti2bZtQq9XixRdfrHb5qKgo4eTkJAICAsSiRYvE7t27RVxcnHBwcBDDhg3TmjcwMFBERESIMWPGCIVCIZYtW1bpOvPz80Xz5s2FWq0WH3/8sdi1a5eYNWuWCAgIEADE2rVrNfPGxsYKAOLPP/8UPXr0EJGRkZrHYmJiRFBQkCgtLRUuLi4iKipK81heXp5o06aN8PT0FB988IH46aefxLJly4RarRZ9+/YVpaWlmnlffvllkZCQIHbu3Cn27t0rPvzwQ+Hp6SmmTJmimef+/fvCw8NDdOjQQXz33XciOTlZfPvtt+L5558XaWlpmj/r8uMvA0DExsZWeF2BgYEiJiZG7NmzR2zdulUIIcT06dOFo6OjmDt3rti5c6fYsGGDCA0NFd7e3iIrK0uzjl69egkPDw/RrFkzsXr1arFr1y4xbNgwAUC8/fbbIiwsTHz99ddix44dokuXLkKpVIobN25olj9z5oxQq9UiLCxMfPnll2L37t1i7ty5ws7OTsTFxWnm27dvnwAggoKCxPjx48X27dvF119/LQICAkTTpk1FcXGxZn3dunUTPj4+4tChQ5obWT8GjSTj7NmzIjQ0VADQ3GbNmqX1oa5LVFSUAFAhTosWLRIAxP79+zXTAgMDNet//fXXda4zISFBABDff/+91vTp06dXGbS1a9cKpVIpbt++LYqLi4Wvr6/mg7d80OLj44WdnZ04evSo1nNs3LhRABA7duyodGwlJSWiqKhIfPnll8Le3l7cuXNHCCHEsWPHBABNdCpjSNDeeustrfkOHTokAIj3339fa3pGRoZwdnYWr732mmZar169BABx7NgxzbTbt28Le3t74ezsrBWvEydOCABi+fLlmmkDBw4UjRo1Ejk5OVrPNXPmTKFSqTSvvSxoQ4YM0Zrvu+++EwC0ojV06FARGBio40+IrBV3OZIkXL16FcOHD4eHhwc2btyI5ORkLF26FImJiXjmmWf0Xs/48eO17o8bNw4AsG/fPq3pbdq0QUBAAFasWIHDhw9Xuq59+/bB1dUVI0aMqHSdujz99NNwcnLCV199hR07diArK0vnkY0//vgjWrVqhTZt2qC4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1833±0.0072 95CI=(0.1726, 0.1958)\n", - " MSE: 0.0722±0.0093 95CI=(0.0590, 0.0885)\n", - " R2: 0.9634±0.0046 95CI=(0.9540, 0.9695)\n", - "RMSE: 0.2682±0.0170 95CI=(0.2430, 0.2975)\n" - ] - }, - { - "data": { - "image/png": "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//79etvs3btXABD379+3XGFGio6OFk2bNjW4vS1/dkIIMXnyZFGnTh1RVFSk83Vb+uwAiC1btmi+LyoqEkqlUsyfP1+zLS8vT/j4+Ijly5frPc7AgQNF7969tbb16tVLDB482OQ1l0fx96fLsWPHBABx8+ZNvW1Wr14tfHx8TFucCeh6f1FRUeLFF18s13FM+fk5/BXa48ePcfLkSfTs2VNre8+ePXH48GGd+xw5cqRE+169euHEiRPIz883W62mkJWVBQDw9fUts23z5s0REBCAbt26Ye/eveYuzWhXrlxBYGAgQkNDMXjwYFy/fl1vW1v+7B4/fox169bh9ddfL3OibVv57J6WkpKC9PR0rc9HLpejU6dOev8tAvo/09L2kYqsrCzIZDJUrly51HaPHj1CcHAwatasib59+yIpKckyBRph37598Pf3xzPPPIOxY8ciIyOj1Pam/PwcPtDu3r2LwsJCVK9eXWt79erVkZ6ernOf9PR0ne0LCgpw9+5ds9VaUUIITJ06Fc899xwaN26st11AQAC+/PJLbNq0CZs3b0b9+vXRrVs3HDhwwILVGqZt27b4+uuvsWvXLqxYsQLp6elo37497t27p7O9rX52ABAfH48HDx5g5MiRetvY0mdXnPrfW3n+Lar3K+8+UpCXl4fp06dj6NChpU7a26BBA6xZswY//vgj/vOf/0ChUKBDhw64cuWKBas1TEREBL799lv8+uuv+L//+z8cP34cXbt2hUqlfxVKU35+dj/bvqGK/8UrhCj1r2Bd7XVtl5KJEyfizJkzOHjwYKnt6tevj/r162u+Dw8PR2pqKj799FM8//zz5i6zXCIiIjT/v0mTJggPD0edOnWwdu1aTJ06Vec+tvjZAcDKlSsRERGBwMBAvW1s6bPTp7z/Fo3dx5ry8/MxePBgFBUVYdmyZaW2bdeundbAig4dOqBFixb497//jc8//9zcpZbLoEGDNP+/cePGaNWqFYKDg7F9+3a89NJLevcz1efn8FdoVatWhbOzc4m/BjIyMkr81aCmVCp1tndxcYGfn5/Zaq2It956Cz/++CP27t1r1HI67dq1k+RfhMV5enqiSZMmemu1xc8OAG7evIk9e/ZgzJgx5d7XVj479ejU8vxbVO9X3n2sKT8/HwMHDkRKSgoSEhLKvaSKk5MTWrdubROfaUBAAIKDg0ut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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1798±0.0097 95CI=(0.1662, 0.1979)\n", - " MSE: 0.0667±0.0148 95CI=(0.0490, 0.0935)\n", - " R2: 0.9645±0.0079 95CI=(0.9493, 0.9742)\n", - "RMSE: 0.2568±0.0279 95CI=(0.2213, 0.3058)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1862±0.0108 95CI=(0.1705, 0.2051)\n", - " MSE: 0.0773±0.0113 95CI=(0.0601, 0.0970)\n", - " R2: 0.9629±0.0059 95CI=(0.9526, 0.9709)\n", - "RMSE: 0.2773±0.0202 95CI=(0.2452, 0.3114)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff9d0>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff430>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 53,\n", - " 159\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1832600.0072190.0722250.0092880.9634490.0046290.2682090.016991
test0.1797820.0097110.0667380.0148050.9645200.0078670.2568270.027890
val0.1861700.0107850.0773240.0112530.9629180.0059420.2773360.020215
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.3446780.1287560.3078060.2552940.7517610.2480680.5048520.230067
test0.2467420.0704130.0879390.0469780.7268740.9792020.2859830.078438
val0.4522790.2470030.5402770.509896-53.957348538.8569450.6364270.367746
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1604100.0193570.0350800.0070790.9759310.0146640.1863490.018824
test0.1827440.0275500.0420850.0114470.9658660.0405650.2031630.028461
val0.1334220.0304960.0266640.0106670.9695370.0289140.1599500.032868
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:17:11.790579\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:17:11.796459+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "json : 2.0.9\n", - "pandas : 2.1.1\n", - "numpy : 1.26.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:17:11 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 17W / 10W | 46MiB / 16384MiB | 23% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_getting_started_25_0.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_getting_started_25_0.png deleted file mode 100644 index 7faf4e21..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_getting_started_25_0.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png deleted file mode 100644 index f587327a..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png deleted file mode 100644 index ea4a372d..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png deleted file mode 100644 index 45f11c60..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png deleted file mode 100644 index b2aa0693..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png deleted file mode 100644 index 584a44d6..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png deleted file mode 100644 index 36c222a4..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png deleted file mode 100644 index aa155943..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png deleted file mode 100644 index b98967a7..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png deleted file mode 100644 index 15438b6e..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png deleted file mode 100644 index 3aeb0a53..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png deleted file mode 100644 index 5ef9425d..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png deleted file mode 100644 index cb692156..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png deleted file mode 100644 index b5e046ba..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png deleted file mode 100644 index bd74aea1..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png deleted file mode 100644 index 231a5027..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png deleted file mode 100644 index d5cf04cc..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png deleted file mode 100644 index 347bd31a..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png deleted file mode 100644 index 5706c031..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png deleted file mode 100644 index 6dbf847a..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png deleted file mode 100644 index 638892e1..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png deleted file mode 100644 index 101bebb7..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png deleted file mode 100644 index 31d02de3..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png deleted file mode 100644 index 11012b88..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png deleted file mode 100644 index f4a80503..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png deleted file mode 100644 index 987f3829..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png deleted file mode 100644 index 64cc50ed..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png deleted file mode 100644 index bf4545e7..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-morgan1024-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png deleted file mode 100644 index 1311a6ea..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png deleted file mode 100644 index a1a73e76..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png deleted file mode 100644 index 712c9d7b..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png deleted file mode 100644 index 1bfdf3c2..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png deleted file mode 100644 index cb40cb6f..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png deleted file mode 100644 index c5d16ef6..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png deleted file mode 100644 index 960d5aba..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png deleted file mode 100644 index 48e1619e..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png b/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png deleted file mode 100644 index e5fc5a0f..00000000 Binary files a/docs/_build/html/.doctrees/nbsphinx/notebooks_ligand-only-smiles-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/OpenEye_structural_featurizer.doctree b/docs/_build/html/.doctrees/notebooks/OpenEye_structural_featurizer.doctree deleted file mode 100644 index bbbe307e..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/OpenEye_structural_featurizer.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/Schrodinger_structural_featurizer.doctree b/docs/_build/html/.doctrees/notebooks/Schrodinger_structural_featurizer.doctree deleted file mode 100644 index a032f23d..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/Schrodinger_structural_featurizer.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/getting_started.doctree b/docs/_build/html/.doctrees/notebooks/getting_started.doctree deleted file mode 100644 index 04d6fa76..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/getting_started.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree b/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree deleted file mode 100644 index 63d30014..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-morgan-composition-EGFR.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree b/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree deleted file mode 100644 index 07b466c7..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/kinoml_object_model.doctree b/docs/_build/html/.doctrees/notebooks/kinoml_object_model.doctree deleted file mode 100644 index 53a179fc..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/kinoml_object_model.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree b/docs/_build/html/.doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree deleted file mode 100644 index 2c46dbc8..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/ligand-only-morgan1024-EGFR.doctree and /dev/null differ diff --git a/docs/_build/html/.doctrees/notebooks/ligand-only-smiles-EGFR.doctree b/docs/_build/html/.doctrees/notebooks/ligand-only-smiles-EGFR.doctree deleted file mode 100644 index 2e2d12dc..00000000 Binary files a/docs/_build/html/.doctrees/notebooks/ligand-only-smiles-EGFR.doctree and /dev/null differ diff --git a/docs/_build/html/_images/fig_1_kinomltechpaper_v2.png b/docs/_build/html/_images/fig_1_kinomltechpaper_v2.png deleted file mode 100644 index fbe09af9..00000000 Binary files a/docs/_build/html/_images/fig_1_kinomltechpaper_v2.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_getting_started_24_0.png b/docs/_build/html/_images/notebooks_getting_started_24_0.png deleted file mode 100644 index 7faf4e21..00000000 Binary files a/docs/_build/html/_images/notebooks_getting_started_24_0.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_getting_started_25_0.png b/docs/_build/html/_images/notebooks_getting_started_25_0.png deleted file mode 100644 index 7faf4e21..00000000 Binary files a/docs/_build/html/_images/notebooks_getting_started_25_0.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png deleted file mode 100644 index f587327a..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png deleted file mode 100644 index ea4a372d..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png deleted file mode 100644 index 45f11c60..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png deleted file mode 100644 index b2aa0693..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png deleted file mode 100644 index 584a44d6..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png deleted file mode 100644 index 36c222a4..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png deleted file mode 100644 index aa155943..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png deleted file mode 100644 index b98967a7..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png deleted file mode 100644 index 15438b6e..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png deleted file mode 100644 index 3aeb0a53..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png deleted file mode 100644 index 5ef9425d..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png deleted file mode 100644 index cb692156..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png deleted file mode 100644 index b5e046ba..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png deleted file mode 100644 index bd74aea1..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png deleted file mode 100644 index 231a5027..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png deleted file mode 100644 index d5cf04cc..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png deleted file mode 100644 index 347bd31a..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png b/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png deleted file mode 100644 index 5706c031..00000000 Binary files a/docs/_build/html/_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_13.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_13.png deleted file mode 100644 index 6dbf847a..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_16.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_16.png deleted file mode 100644 index 638892e1..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_19.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_19.png deleted file mode 100644 index 101bebb7..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_23.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_23.png deleted file mode 100644 index 31d02de3..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_26.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_26.png deleted file mode 100644 index 11012b88..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_29.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_29.png deleted file mode 100644 index f4a80503..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_3.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_3.png deleted file mode 100644 index 987f3829..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_6.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_6.png deleted file mode 100644 index 64cc50ed..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_9.png b/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_9.png deleted file mode 100644 index bf4545e7..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-morgan1024-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_13.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_13.png deleted file mode 100644 index 1311a6ea..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_13.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_16.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_16.png deleted file mode 100644 index a1a73e76..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_16.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_19.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_19.png deleted file mode 100644 index 712c9d7b..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_19.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_23.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_23.png deleted file mode 100644 index 1bfdf3c2..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_23.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_26.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_26.png deleted file mode 100644 index cb40cb6f..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_26.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_29.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_29.png deleted file mode 100644 index c5d16ef6..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_29.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_3.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_3.png deleted file mode 100644 index 960d5aba..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_3.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_6.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_6.png deleted file mode 100644 index 48e1619e..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_6.png and /dev/null differ diff --git a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_9.png b/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_9.png deleted file mode 100644 index e5fc5a0f..00000000 Binary files a/docs/_build/html/_images/notebooks_ligand-only-smiles-EGFR_56_9.png and /dev/null differ diff --git a/docs/_build/html/_images/object_model.png b/docs/_build/html/_images/object_model.png deleted file mode 100644 index 970a5ba8..00000000 Binary files a/docs/_build/html/_images/object_model.png and /dev/null differ diff --git a/docs/_build/html/_panels_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css b/docs/_build/html/_panels_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css deleted file mode 100644 index 1b057df2..00000000 --- a/docs/_build/html/_panels_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css +++ /dev/null @@ -1 +0,0 @@ -.badge{border-radius:.25rem;display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#007bff;color:#fff}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#0062cc;color:#fff;text-decoration:none}.badge-secondary{background-color:#6c757d;color:#fff}.badge-secondary[href]:focus,.badge-secondary[href]:hover{background-color:#545b62;color:#fff;text-decoration:none}.badge-success{background-color:#28a745;color:#fff}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#1e7e34;color:#fff;text-decoration:none}.badge-info{background-color:#17a2b8;color:#fff}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#117a8b;color:#fff;text-decoration:none}.badge-warning{background-color:#ffc107;color:#212529}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#d39e00;color:#212529;text-decoration:none}.badge-danger{background-color:#dc3545;color:#fff}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#bd2130;color:#fff;text-decoration:none}.badge-light{background-color:#f8f9fa;color:#212529}.badge-light[href]:focus,.badge-light[href]:hover{background-color:#dae0e5;color:#212529;text-decoration:none}.badge-dark{background-color:#343a40;color:#fff}.badge-dark[href]:focus,.badge-dark[href]:hover{background-color:#1d2124;color:#fff;text-decoration:none}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#212529;cursor:pointer;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;vertical-align:middle}.btn:hover{color:#212529;text-decoration:none}.btn:visited{color:#212529}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.25);outline:0}.btn.disabled,.btn:disabled{opacity:.65}@media (prefers-reduced-motion: reduce){.btn{transition:none}}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:visited{color:#fff}.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(0,123,255,0.5);color:#fff}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.active:not(:disabled):not(.disabled),.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-primary.active:not(:disabled):not(.disabled):focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:visited{color:#fff}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5);color:#fff}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.active:not(:disabled):not(.disabled),.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary.active:not(:disabled):not(.disabled):focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:visited{color:#fff}.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus{background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5);color:#fff}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.active:not(:disabled):not(.disabled),.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-success.active:not(:disabled):not(.disabled):focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:visited{color:#fff}.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus{background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5);color:#fff}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.active:not(:disabled):not(.disabled),.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-info.active:not(:disabled):not(.disabled):focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:visited{color:#212529}.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus{background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5);color:#212529}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.active:not(:disabled):not(.disabled),.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-warning.active:not(:disabled):not(.disabled):focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:visited{color:#fff}.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus{background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5);color:#fff}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.active:not(:disabled):not(.disabled),.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-danger.active:not(:disabled):not(.disabled):focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:visited{color:#212529}.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5);color:#212529}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.active:not(:disabled):not(.disabled),.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light.active:not(:disabled):not(.disabled):focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:visited{color:#fff}.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5);color:#fff}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.active:not(:disabled):not(.disabled),.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark.active:not(:disabled):not(.disabled):focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:visited{color:#007bff}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:transparent;color:#007bff}.btn-outline-primary.active:not(:disabled):not(.disabled),.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.active:not(:disabled):not(.disabled):focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:visited{color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}.btn-outline-secondary.active:not(:disabled):not(.disabled),.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.active:not(:disabled):not(.disabled):focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success:visited{color:#28a745}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:transparent;color:#28a745}.btn-outline-success.active:not(:disabled):not(.disabled),.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.active:not(:disabled):not(.disabled):focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info:visited{color:#17a2b8}.btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:transparent;color:#17a2b8}.btn-outline-info.active:not(:disabled):not(.disabled),.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.active:not(:disabled):not(.disabled):focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning:visited{color:#ffc107}.btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:transparent;color:#ffc107}.btn-outline-warning.active:not(:disabled):not(.disabled),.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.active:not(:disabled):not(.disabled):focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:visited{color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:transparent;color:#dc3545}.btn-outline-danger.active:not(:disabled):not(.disabled),.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.active:not(:disabled):not(.disabled):focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:visited{color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}.btn-outline-light.active:not(:disabled):not(.disabled),.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.active:not(:disabled):not(.disabled):focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:visited{color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:transparent;color:#343a40}.btn-outline-dark.active:not(:disabled):not(.disabled),.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.active:not(:disabled):not(.disabled):focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-link{color:#007bff;font-weight:400;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{box-shadow:none;text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input.btn-block[type=button],input.btn-block[type=reset],input.btn-block[type=submit]{width:100%}.stretched-link::after{background-color:rgba(0,0,0,0);bottom:0;content:'';left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-wrap{white-space:normal !important}.card{background-clip:border-box;background-color:#fff;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.card>hr{margin-left:0;margin-right:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-bottom:0;margin-top:-.375rem}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem;margin-left:-.625rem;margin-right:-.625rem}.card-header-pills{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.w-100{width:100% !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.bg-primary{background-color:#007bff !important}button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc !important}a.bg-primary:focus,a.bg-primary:hover{background-color:#0062cc !important}a.text-primary:focus,a.text-primary:hover{color:#121416 !important}.bg-secondary{background-color:#6c757d !important}button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62 !important}a.bg-secondary:focus,a.bg-secondary:hover{background-color:#545b62 !important}a.text-secondary:focus,a.text-secondary:hover{color:#121416 !important}.bg-success{background-color:#28a745 !important}button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34 !important}a.bg-success:focus,a.bg-success:hover{background-color:#1e7e34 !important}a.text-success:focus,a.text-success:hover{color:#121416 !important}.bg-info{background-color:#17a2b8 !important}button.bg-info:focus,button.bg-info:hover{background-color:#117a8b !important}a.bg-info:focus,a.bg-info:hover{background-color:#117a8b !important}a.text-info:focus,a.text-info:hover{color:#121416 !important}.bg-warning{background-color:#ffc107 !important}button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00 !important}a.bg-warning:focus,a.bg-warning:hover{background-color:#d39e00 !important}a.text-warning:focus,a.text-warning:hover{color:#121416 !important}.bg-danger{background-color:#dc3545 !important}button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130 !important}a.bg-danger:focus,a.bg-danger:hover{background-color:#bd2130 !important}a.text-danger:focus,a.text-danger:hover{color:#121416 !important}.bg-light{background-color:#f8f9fa !important}button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5 !important}a.bg-light:focus,a.bg-light:hover{background-color:#dae0e5 !important}a.text-light:focus,a.text-light:hover{color:#121416 !important}.bg-dark{background-color:#343a40 !important}button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124 !important}a.bg-dark:focus,a.bg-dark:hover{background-color:#1d2124 !important}a.text-dark:focus,a.text-dark:hover{color:#121416 !important}.bg-white{background-color:#fff !important}button.bg-white:focus,button.bg-white:hover{background-color:#e6e6e6 !important}a.bg-white:focus,a.bg-white:hover{background-color:#e6e6e6 !important}a.text-white:focus,a.text-white:hover{color:#121416 !important}.text-primary{color:#007bff !important}.text-secondary{color:#6c757d !important}.text-success{color:#28a745 !important}.text-info{color:#17a2b8 !important}.text-warning{color:#ffc107 !important}.text-danger{color:#dc3545 !important}.text-light{color:#f8f9fa !important}.text-dark{color:#343a40 !important}.text-white{color:#fff !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.bg-transparent{background-color:transparent !important}.text-justify{text-align:justify !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width: 992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width: 1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-md-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.d-flex{display:-ms-flexbox !important;display:flex !important}.sphinx-bs,.sphinx-bs *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sphinx-bs p{margin-top:0} diff --git a/docs/_build/html/_panels_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css b/docs/_build/html/_panels_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css deleted file mode 100644 index fc14abc8..00000000 --- a/docs/_build/html/_panels_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css +++ /dev/null @@ -1 +0,0 @@ -details.dropdown .summary-title{padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.dropdown:hover{cursor:pointer}details.dropdown .summary-content{cursor:default}details.dropdown summary{list-style:none;padding:1em}details.dropdown summary .octicon.no-title{vertical-align:middle}details.dropdown[open] summary .octicon.no-title{visibility:hidden}details.dropdown summary::-webkit-details-marker{display:none}details.dropdown summary:focus{outline:none}details.dropdown summary:hover .summary-up svg,details.dropdown summary:hover .summary-down svg{opacity:1}details.dropdown .summary-up svg,details.dropdown .summary-down svg{display:block;opacity:.6}details.dropdown .summary-up,details.dropdown .summary-down{pointer-events:none;position:absolute;right:1em;top:.75em}details.dropdown[open] .summary-down{visibility:hidden}details.dropdown:not([open]) .summary-up{visibility:hidden}details.dropdown.fade-in[open] summary~*{-moz-animation:panels-fade-in .5s ease-in-out;-webkit-animation:panels-fade-in .5s ease-in-out;animation:panels-fade-in .5s ease-in-out}details.dropdown.fade-in-slide-down[open] summary~*{-moz-animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out;-webkit-animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out;animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out}@keyframes panels-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes panels-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.octicon{display:inline-block;fill:currentColor;vertical-align:text-top}.tabbed-content{box-shadow:0 -.0625rem var(--tabs-color-overline),0 .0625rem var(--tabs-color-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.tabbed-content>:first-child{margin-top:0 !important}.tabbed-content>:last-child{margin-bottom:0 !important}.tabbed-content>.tabbed-set{margin:0}.tabbed-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.tabbed-set>input{opacity:0;position:absolute}.tabbed-set>input:checked+label{border-color:var(--tabs-color-label-active);color:var(--tabs-color-label-active)}.tabbed-set>input:checked+label+.tabbed-content{display:block}.tabbed-set>input:focus+label{outline-style:auto}.tabbed-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.tabbed-set>label{border-bottom:.125rem solid transparent;color:var(--tabs-color-label-inactive);cursor:pointer;font-size:var(--tabs-size-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .tabbed-set>label:hover{color:var(--tabs-color-label-active)} diff --git a/docs/_build/html/_panels_static/panels-variables.06eb56fa6e07937060861dad626602ad.css b/docs/_build/html/_panels_static/panels-variables.06eb56fa6e07937060861dad626602ad.css deleted file mode 100644 index adc61662..00000000 --- a/docs/_build/html/_panels_static/panels-variables.06eb56fa6e07937060861dad626602ad.css +++ /dev/null @@ -1,7 +0,0 @@ -:root { ---tabs-color-label-active: hsla(231, 99%, 66%, 1); ---tabs-color-label-inactive: rgba(178, 206, 245, 0.62); ---tabs-color-overline: rgb(207, 236, 238); ---tabs-color-underline: rgb(207, 236, 238); ---tabs-size-label: 1rem; -} \ No newline at end of file diff --git a/docs/_build/html/_sources/index.md.txt b/docs/_build/html/_sources/index.md.txt deleted file mode 100644 index 1c6819a2..00000000 --- a/docs/_build/html/_sources/index.md.txt +++ /dev/null @@ -1,57 +0,0 @@ -```{admonition} Warning! -:class: warning - -This is module is undergoing heavy development. None of the API calls are final. This software is provided without any guarantees of correctness, you will likely encounter bugs. - -If you are interested in this code, please wait for the official release to use it. In the mean time, to stay informed of development progress you are encouraged to: - -- Subscribe for new releases (use `Watch> Releases only` on GitHub) -- Check out the [Github repository](https://github.com/openkinome/kinoml). - -``` - -# KinoML - -Welcome to the Documentation of KinoML! The documentation is divided into two parts: - -* **User guide**: in this section you will learn how to use KinoML to filter and download data from a data base, featurize your kinase data so that it is ML friendly and train and evaluate a ML model on your featurized kinase data. You will also learn about the KinoML object model, and how to access each of these objects. We also provide a detailed examples of how to use every featurizer implemented within KinoML. - -* **Experiment tutorials**: this section shows how to use KinoML to ML structure-based experiments. All experiments are structure-based and they are all end to end, from data collection to model training and evaluation. - - - -KinoML falls under the [OpenKinome](https://openkinome.org) initiative, which aims to leverage the increasingly available bioactivity data and scalable computational resources to perform kinase-centric drug design in the context of structure-informed machine learning and free energy calculations. `KinoML` is the main library supporting these efforts. - -Do you want to know more about OpenKinome ecosystem? Check its [website](https://openkinome.org). - - - -```{toctree} -:caption: User guide -:maxdepth: 3 -:hidden: - -notebooks/getting_started.nblink -notebooks/kinoml_object_model.nblink -notebooks/OpenEye_structural_featurizer.nblink -notebooks/Schrodinger_structural_featurizer.nblink -``` - -```{toctree} -:caption: Experiment tutorials -:maxdepth: 2 -:hidden: - -notebooks/ligand-only-smiles-EGFR.nblink -notebooks/ligand-only-morgan1024-EGFR.nblink -notebooks/kinase-ligand-informed-smiles-sequence-EGFR.nblink -notebooks/kinase-ligand-informed-morgan-composition-EGFR.nblink -``` - -```{toctree} -:caption: Developers -:maxdepth: 1 -:hidden: - -API Reference -``` diff --git a/docs/_build/html/_sources/notebooks/OpenEye_structural_featurizer.nblink.txt b/docs/_build/html/_sources/notebooks/OpenEye_structural_featurizer.nblink.txt deleted file mode 100644 index 07853634..00000000 --- a/docs/_build/html/_sources/notebooks/OpenEye_structural_featurizer.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/getting_started/OpenEye_structural_featurizer_showcase.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/Schrodinger_structural_featurizer.nblink.txt b/docs/_build/html/_sources/notebooks/Schrodinger_structural_featurizer.nblink.txt deleted file mode 100644 index 6a3762ce..00000000 --- a/docs/_build/html/_sources/notebooks/Schrodinger_structural_featurizer.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/getting_started/Schrodinger_structural_featurizer_showcase.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/getting_started.nblink.txt b/docs/_build/html/_sources/notebooks/getting_started.nblink.txt deleted file mode 100644 index 2cc057d8..00000000 --- a/docs/_build/html/_sources/notebooks/getting_started.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/getting_started/getting_started_with_kinoml.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/kinase-ligand-informed-morgan-composition-EGFR.nblink.txt b/docs/_build/html/_sources/notebooks/kinase-ligand-informed-morgan-composition-EGFR.nblink.txt deleted file mode 100644 index f56c3cde..00000000 --- a/docs/_build/html/_sources/notebooks/kinase-ligand-informed-morgan-composition-EGFR.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/experiments/kinase-ligand-informed-morgan-composition-EGFR/experiments_notebook.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.nblink.txt b/docs/_build/html/_sources/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.nblink.txt deleted file mode 100644 index fa515e22..00000000 --- a/docs/_build/html/_sources/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/experiments/kinase-ligand-informed-smiles-sequence-EGFR/experiment_notebook.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/kinoml_object_model.nblink.txt b/docs/_build/html/_sources/notebooks/kinoml_object_model.nblink.txt deleted file mode 100644 index 764b3101..00000000 --- a/docs/_build/html/_sources/notebooks/kinoml_object_model.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/getting_started/kinoml_object_model.ipynb", "extra-media": ["../../kinoml/data/"]} diff --git a/docs/_build/html/_sources/notebooks/ligand-only-morgan1024-EGFR.nblink.txt b/docs/_build/html/_sources/notebooks/ligand-only-morgan1024-EGFR.nblink.txt deleted file mode 100644 index 67ae5a57..00000000 --- a/docs/_build/html/_sources/notebooks/ligand-only-morgan1024-EGFR.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/experiments/ligand-only-morgan1024-EGFR/experiment_notebook.ipynb"} diff --git a/docs/_build/html/_sources/notebooks/ligand-only-smiles-EGFR.nblink.txt b/docs/_build/html/_sources/notebooks/ligand-only-smiles-EGFR.nblink.txt deleted file mode 100644 index 6d808120..00000000 --- a/docs/_build/html/_sources/notebooks/ligand-only-smiles-EGFR.nblink.txt +++ /dev/null @@ -1 +0,0 @@ -{"path": "../../tutorials/experiments/ligand-only-smiles-EGFR/experiment_notebook.ipynb"} \ No newline at end of file diff --git a/docs/_build/html/_static/README b/docs/_build/html/_static/README deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css deleted file mode 100644 index 30fee9d0..00000000 --- a/docs/_build/html/_static/basic.css +++ /dev/null @@ -1,925 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/_build/html/_static/check-solid.svg b/docs/_build/html/_static/check-solid.svg deleted file mode 100644 index 92fad4b5..00000000 --- a/docs/_build/html/_static/check-solid.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/_build/html/_static/clipboard.min.js b/docs/_build/html/_static/clipboard.min.js deleted file mode 100644 index 54b3c463..00000000 --- a/docs/_build/html/_static/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v2.0.8 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 - - - - diff --git a/docs/_build/html/_static/copybutton.css b/docs/_build/html/_static/copybutton.css deleted file mode 100644 index f1916ec7..00000000 --- a/docs/_build/html/_static/copybutton.css +++ /dev/null @@ -1,94 +0,0 @@ -/* Copy buttons */ -button.copybtn { - position: absolute; - display: flex; - top: .3em; - right: .3em; - width: 1.7em; - height: 1.7em; - opacity: 0; - transition: opacity 0.3s, border .3s, background-color .3s; - user-select: none; - padding: 0; - border: none; - outline: none; - border-radius: 0.4em; - /* The colors that GitHub uses */ - border: #1b1f2426 1px solid; - background-color: #f6f8fa; - color: #57606a; -} - -button.copybtn.success { - border-color: #22863a; - color: #22863a; -} - -button.copybtn svg { - stroke: currentColor; - width: 1.5em; - height: 1.5em; - padding: 0.1em; -} - -div.highlight { - position: relative; -} - -/* Show the copybutton */ -.highlight:hover button.copybtn, button.copybtn.success { - opacity: 1; -} - -.highlight button.copybtn:hover { - background-color: rgb(235, 235, 235); -} - -.highlight button.copybtn:active { - background-color: rgb(187, 187, 187); -} - -/** - * A minimal CSS-only tooltip copied from: - * https://codepen.io/mildrenben/pen/rVBrpK - * - * To use, write HTML like the following: - * - *

Short

- */ - .o-tooltip--left { - position: relative; - } - - .o-tooltip--left:after { - opacity: 0; - visibility: hidden; - position: absolute; - content: attr(data-tooltip); - padding: .2em; - font-size: .8em; - left: -.2em; - background: grey; - color: white; - white-space: nowrap; - z-index: 2; - border-radius: 2px; - transform: translateX(-102%) translateY(0); - transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} - -.o-tooltip--left:hover:after { - display: block; - opacity: 1; - visibility: visible; - transform: translateX(-100%) translateY(0); - transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - transition-delay: .5s; -} - -/* By default the copy button shouldn't show up when printing a page */ -@media print { - button.copybtn { - display: none; - } -} diff --git a/docs/_build/html/_static/copybutton.js b/docs/_build/html/_static/copybutton.js deleted file mode 100644 index 2ea7ff3e..00000000 --- a/docs/_build/html/_static/copybutton.js +++ /dev/null @@ -1,248 +0,0 @@ -// Localization support -const messages = { - 'en': { - 'copy': 'Copy', - 'copy_to_clipboard': 'Copy to clipboard', - 'copy_success': 'Copied!', - 'copy_failure': 'Failed to copy', - }, - 'es' : { - 'copy': 'Copiar', - 'copy_to_clipboard': 'Copiar al portapapeles', - 'copy_success': '¡Copiado!', - 'copy_failure': 'Error al copiar', - }, - 'de' : { - 'copy': 'Kopieren', - 'copy_to_clipboard': 'In die Zwischenablage kopieren', - 'copy_success': 'Kopiert!', - 'copy_failure': 'Fehler beim Kopieren', - }, - 'fr' : { - 'copy': 'Copier', - 'copy_to_clipboard': 'Copier dans le presse-papier', - 'copy_success': 'Copié !', - 'copy_failure': 'Échec de la copie', - }, - 'ru': { - 'copy': 'Скопировать', - 'copy_to_clipboard': 'Скопировать в буфер', - 'copy_success': 'Скопировано!', - 'copy_failure': 'Не удалось скопировать', - }, - 'zh-CN': { - 'copy': '复制', - 'copy_to_clipboard': '复制到剪贴板', - 'copy_success': '复制成功!', - 'copy_failure': '复制失败', - }, - 'it' : { - 'copy': 'Copiare', - 'copy_to_clipboard': 'Copiato negli appunti', - 'copy_success': 'Copiato!', - 'copy_failure': 'Errore durante la copia', - } -} - -let locale = 'en' -if( document.documentElement.lang !== undefined - && messages[document.documentElement.lang] !== undefined ) { - locale = document.documentElement.lang -} - -let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; -if (doc_url_root == '#') { - doc_url_root = ''; -} - -/** - * SVG files for our copy buttons - */ -let iconCheck = ` - ${messages[locale]['copy_success']} - - -` - -// If the user specified their own SVG use that, otherwise use the default -let iconCopy = ``; -if (!iconCopy) { - iconCopy = ` - ${messages[locale]['copy_to_clipboard']} - - - -` -} - -/** - * Set up copy/paste for code blocks - */ - -const runWhenDOMLoaded = cb => { - if (document.readyState != 'loading') { - cb() - } else if (document.addEventListener) { - document.addEventListener('DOMContentLoaded', cb) - } else { - document.attachEvent('onreadystatechange', function() { - if (document.readyState == 'complete') cb() - }) - } -} - -const codeCellId = index => `codecell${index}` - -// Clears selected text since ClipboardJS will select the text when copying -const clearSelection = () => { - if (window.getSelection) { - window.getSelection().removeAllRanges() - } else if (document.selection) { - document.selection.empty() - } -} - -// Changes tooltip text for a moment, then changes it back -// We want the timeout of our `success` class to be a bit shorter than the -// tooltip and icon change, so that we can hide the icon before changing back. -var timeoutIcon = 2000; -var timeoutSuccessClass = 1500; - -const temporarilyChangeTooltip = (el, oldText, newText) => { - el.setAttribute('data-tooltip', newText) - el.classList.add('success') - // Remove success a little bit sooner than we change the tooltip - // So that we can use CSS to hide the copybutton first - setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) - setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) -} - -// Changes the copy button icon for two seconds, then changes it back -const temporarilyChangeIcon = (el) => { - el.innerHTML = iconCheck; - setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) -} - -const addCopyButtonToCodeCells = () => { - // If ClipboardJS hasn't loaded, wait a bit and try again. This - // happens because we load ClipboardJS asynchronously. - if (window.ClipboardJS === undefined) { - setTimeout(addCopyButtonToCodeCells, 250) - return - } - - // Add copybuttons to all of our code cells - const COPYBUTTON_SELECTOR = 'div.highlight pre'; - const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) - codeCells.forEach((codeCell, index) => { - const id = codeCellId(index) - codeCell.setAttribute('id', id) - - const clipboardButton = id => - `` - codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) - }) - -function escapeRegExp(string) { - return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string -} - -/** - * Removes excluded text from a Node. - * - * @param {Node} target Node to filter. - * @param {string} exclude CSS selector of nodes to exclude. - * @returns {DOMString} Text from `target` with text removed. - */ -function filterText(target, exclude) { - const clone = target.cloneNode(true); // clone as to not modify the live DOM - if (exclude) { - // remove excluded nodes - clone.querySelectorAll(exclude).forEach(node => node.remove()); - } - return clone.innerText; -} - -// Callback when a copy button is clicked. Will be passed the node that was clicked -// should then grab the text and replace pieces of text that shouldn't be used in output -function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { - var regexp; - var match; - - // Do we check for line continuation characters and "HERE-documents"? - var useLineCont = !!lineContinuationChar - var useHereDoc = !!hereDocDelim - - // create regexp to capture prompt and remaining line - if (isRegexp) { - regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') - } else { - regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') - } - - const outputLines = []; - var promptFound = false; - var gotLineCont = false; - var gotHereDoc = false; - const lineGotPrompt = []; - for (const line of textContent.split('\n')) { - match = line.match(regexp) - if (match || gotLineCont || gotHereDoc) { - promptFound = regexp.test(line) - lineGotPrompt.push(promptFound) - if (removePrompts && promptFound) { - outputLines.push(match[2]) - } else { - outputLines.push(line) - } - gotLineCont = line.endsWith(lineContinuationChar) & useLineCont - if (line.includes(hereDocDelim) & useHereDoc) - gotHereDoc = !gotHereDoc - } else if (!onlyCopyPromptLines) { - outputLines.push(line) - } else if (copyEmptyLines && line.trim() === '') { - outputLines.push(line) - } - } - - // If no lines with the prompt were found then just use original lines - if (lineGotPrompt.some(v => v === true)) { - textContent = outputLines.join('\n'); - } - - // Remove a trailing newline to avoid auto-running when pasting - if (textContent.endsWith("\n")) { - textContent = textContent.slice(0, -1) - } - return textContent -} - - -var copyTargetText = (trigger) => { - var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); - - // get filtered text - let exclude = '.linenos'; - - let text = filterText(target, exclude); - return formatCopyText(text, '', false, true, true, true, '', '') -} - - // Initialize with a callback so we can modify the text before copy - const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) - - // Update UI with error/success messages - clipboard.on('success', event => { - clearSelection() - temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) - temporarilyChangeIcon(event.trigger) - }) - - clipboard.on('error', event => { - temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) - }) -} - -runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/docs/_build/html/_static/copybutton_funcs.js b/docs/_build/html/_static/copybutton_funcs.js deleted file mode 100644 index dbe1aaad..00000000 --- a/docs/_build/html/_static/copybutton_funcs.js +++ /dev/null @@ -1,73 +0,0 @@ -function escapeRegExp(string) { - return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string -} - -/** - * Removes excluded text from a Node. - * - * @param {Node} target Node to filter. - * @param {string} exclude CSS selector of nodes to exclude. - * @returns {DOMString} Text from `target` with text removed. - */ -export function filterText(target, exclude) { - const clone = target.cloneNode(true); // clone as to not modify the live DOM - if (exclude) { - // remove excluded nodes - clone.querySelectorAll(exclude).forEach(node => node.remove()); - } - return clone.innerText; -} - -// Callback when a copy button is clicked. Will be passed the node that was clicked -// should then grab the text and replace pieces of text that shouldn't be used in output -export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { - var regexp; - var match; - - // Do we check for line continuation characters and "HERE-documents"? - var useLineCont = !!lineContinuationChar - var useHereDoc = !!hereDocDelim - - // create regexp to capture prompt and remaining line - if (isRegexp) { - regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') - } else { - regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') - } - - const outputLines = []; - var promptFound = false; - var gotLineCont = false; - var gotHereDoc = false; - const lineGotPrompt = []; - for (const line of textContent.split('\n')) { - match = line.match(regexp) - if (match || gotLineCont || gotHereDoc) { - promptFound = regexp.test(line) - lineGotPrompt.push(promptFound) - if (removePrompts && promptFound) { - outputLines.push(match[2]) - } else { - outputLines.push(line) - } - gotLineCont = line.endsWith(lineContinuationChar) & useLineCont - if (line.includes(hereDocDelim) & useHereDoc) - gotHereDoc = !gotHereDoc - } else if (!onlyCopyPromptLines) { - outputLines.push(line) - } else if (copyEmptyLines && line.trim() === '') { - outputLines.push(line) - } - } - - // If no lines with the prompt were found then just use original lines - if (lineGotPrompt.some(v => v === true)) { - textContent = outputLines.join('\n'); - } - - // Remove a trailing newline to avoid auto-running when pasting - if (textContent.endsWith("\n")) { - textContent = textContent.slice(0, -1) - } - return textContent -} diff --git a/docs/_build/html/_static/css/custom.css b/docs/_build/html/_static/css/custom.css deleted file mode 100644 index 4138e09c..00000000 --- a/docs/_build/html/_static/css/custom.css +++ /dev/null @@ -1,9 +0,0 @@ -div.autodoc { - padding-left: 25px; -} -article>div.autodoc { - border-left: 4px solid rgba(230, 230, 230); -} -article>div.autodoc>div.autodoc { - border-left: 1px solid rgba(230, 230, 230); -} \ No newline at end of file diff --git a/docs/_build/html/_static/custom_favicon.png b/docs/_build/html/_static/custom_favicon.png deleted file mode 100644 index 236e9086..00000000 Binary files a/docs/_build/html/_static/custom_favicon.png and /dev/null differ diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js deleted file mode 100644 index d06a71d7..00000000 --- a/docs/_build/html/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js deleted file mode 100644 index e21c068c..00000000 --- a/docs/_build/html/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '0.1', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/_build/html/_static/file.png b/docs/_build/html/_static/file.png deleted file mode 100644 index a858a410..00000000 Binary files a/docs/_build/html/_static/file.png and /dev/null differ diff --git a/docs/_build/html/_static/fonts/font-awesome.css b/docs/_build/html/_static/fonts/font-awesome.css deleted file mode 100644 index b476b53e..00000000 --- a/docs/_build/html/_static/fonts/font-awesome.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url("specimen/FontAwesome.woff2") format("woff2"),url("specimen/FontAwesome.woff") format("woff"),url("specimen/FontAwesome.ttf") format("truetype")}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} \ No newline at end of file diff --git a/docs/_build/html/_static/fonts/material-icons.css b/docs/_build/html/_static/fonts/material-icons.css deleted file mode 100644 index 63130b01..00000000 --- a/docs/_build/html/_static/fonts/material-icons.css +++ /dev/null @@ -1,13 +0,0 @@ -/*! - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE - * DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - * SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND - * LIMITATIONS UNDER THE LICENSE. - */@font-face{font-display:swap;font-family:"Material Icons";font-style:normal;font-weight:400;src:local("Material Icons"),local("MaterialIcons-Regular"),url("specimen/MaterialIcons-Regular.woff2") format("woff2"),url("specimen/MaterialIcons-Regular.woff") format("woff"),url("specimen/MaterialIcons-Regular.ttf") format("truetype")} \ No newline at end of file diff --git a/docs/_build/html/_static/fonts/specimen/FontAwesome.ttf b/docs/_build/html/_static/fonts/specimen/FontAwesome.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/FontAwesome.ttf and /dev/null differ diff --git a/docs/_build/html/_static/fonts/specimen/FontAwesome.woff b/docs/_build/html/_static/fonts/specimen/FontAwesome.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/FontAwesome.woff and /dev/null differ diff --git a/docs/_build/html/_static/fonts/specimen/FontAwesome.woff2 b/docs/_build/html/_static/fonts/specimen/FontAwesome.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/FontAwesome.woff2 and /dev/null differ diff --git a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.ttf b/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.ttf deleted file mode 100644 index 7015564a..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.ttf and /dev/null differ diff --git a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff b/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff deleted file mode 100644 index b648a3ee..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff and /dev/null differ diff --git a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff2 b/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa21125..00000000 Binary files a/docs/_build/html/_static/fonts/specimen/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/docs/_build/html/_static/graphviz.css b/docs/_build/html/_static/graphviz.css deleted file mode 100644 index 8d81c02e..00000000 --- a/docs/_build/html/_static/graphviz.css +++ /dev/null @@ -1,19 +0,0 @@ -/* - * graphviz.css - * ~~~~~~~~~~~~ - * - * Sphinx stylesheet -- graphviz extension. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -img.graphviz { - border: 0; - max-width: 100%; -} - -object.graphviz { - max-width: 100%; -} diff --git a/docs/_build/html/_static/images/custom_favicon.png b/docs/_build/html/_static/images/custom_favicon.png deleted file mode 100644 index 236e9086..00000000 Binary files a/docs/_build/html/_static/images/custom_favicon.png and /dev/null differ diff --git a/docs/_build/html/_static/images/favicon.png b/docs/_build/html/_static/images/favicon.png deleted file mode 100644 index 76d17f57..00000000 Binary files a/docs/_build/html/_static/images/favicon.png and /dev/null differ diff --git a/docs/_build/html/_static/images/icons/bitbucket.1b09e088.svg b/docs/_build/html/_static/images/icons/bitbucket.1b09e088.svg deleted file mode 100644 index cf58c14f..00000000 --- a/docs/_build/html/_static/images/icons/bitbucket.1b09e088.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/images/icons/bitbucket.svg b/docs/_build/html/_static/images/icons/bitbucket.svg deleted file mode 100644 index cf58c14f..00000000 --- a/docs/_build/html/_static/images/icons/bitbucket.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/images/icons/github.f0b8504a.svg b/docs/_build/html/_static/images/icons/github.f0b8504a.svg deleted file mode 100644 index 3d13b197..00000000 --- a/docs/_build/html/_static/images/icons/github.f0b8504a.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/images/icons/github.svg b/docs/_build/html/_static/images/icons/github.svg deleted file mode 100644 index 3d13b197..00000000 --- a/docs/_build/html/_static/images/icons/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/images/icons/gitlab.6dd19c00.svg b/docs/_build/html/_static/images/icons/gitlab.6dd19c00.svg deleted file mode 100644 index 1d9fffa7..00000000 --- a/docs/_build/html/_static/images/icons/gitlab.6dd19c00.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/images/icons/gitlab.svg b/docs/_build/html/_static/images/icons/gitlab.svg deleted file mode 100644 index 1d9fffa7..00000000 --- a/docs/_build/html/_static/images/icons/gitlab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/application.js b/docs/_build/html/_static/javascripts/application.js deleted file mode 100644 index 7c724d2e..00000000 --- a/docs/_build/html/_static/javascripts/application.js +++ /dev/null @@ -1,2540 +0,0 @@ -! function(e, t) { - for (var n in t) e[n] = t[n] -}(window, function(n) { - var r = {}; - - function i(e) { - if (r[e]) return r[e].exports; - var t = r[e] = { - i: e, - l: !1, - exports: {} - }; - return n[e].call(t.exports, t, t.exports, i), t.l = !0, t.exports - } - return i.m = n, i.c = r, i.d = function(e, t, n) { - i.o(e, t) || Object.defineProperty(e, t, { - enumerable: !0, - get: n - }) - }, i.r = function(e) { - "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { - value: "Module" - }), Object.defineProperty(e, "__esModule", { - value: !0 - }) - }, i.t = function(t, e) { - if (1 & e && (t = i(t)), 8 & e) return t; - if (4 & e && "object" == typeof t && t && t.__esModule) return t; - var n = Object.create(null); - if (i.r(n), Object.defineProperty(n, "default", { - enumerable: !0, - value: t - }), 2 & e && "string" != typeof t) - for (var r in t) i.d(n, r, function(e) { - return t[e] - }.bind(null, r)); - return n - }, i.n = function(e) { - var t = e && e.__esModule ? function() { - return e.default - } : function() { - return e - }; - return i.d(t, "a", t), t - }, i.o = function(e, t) { - return Object.prototype.hasOwnProperty.call(e, t) - }, i.p = "", i(i.s = 13) -}([function(e, t, n) { - "use strict"; - var r = { - Listener: function() { - function e(e, t, n) { - var r = this; - this.els_ = Array.prototype.slice.call("string" == typeof e ? document.querySelectorAll(e) : [].concat(e)), this.handler_ = "function" == typeof n ? { - update: n - } : n, this.events_ = [].concat(t), this.update_ = function(e) { - return r.handler_.update(e) - } - } - var t = e.prototype; - return t.listen = function() { - var n = this; - this.els_.forEach(function(t) { - n.events_.forEach(function(e) { - t.addEventListener(e, n.update_, !1) - }) - }), "function" == typeof this.handler_.setup && this.handler_.setup() - }, t.unlisten = function() { - var n = this; - this.els_.forEach(function(t) { - n.events_.forEach(function(e) { - t.removeEventListener(e, n.update_) - }) - }), "function" == typeof this.handler_.reset && this.handler_.reset() - }, e - }(), - MatchMedia: function(e, t) { - this.handler_ = function(e) { - e.matches ? t.listen() : t.unlisten() - }; - var n = window.matchMedia(e); - n.addListener(this.handler_), this.handler_(n) - } - }, - i = { - Shadow: function() { - function e(e, t) { - var n = "string" == typeof e ? document.querySelector(e) : e; - if (!(n instanceof HTMLElement && n.parentNode instanceof HTMLElement)) throw new ReferenceError; - if (this.el_ = n.parentNode, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLElement)) throw new ReferenceError; - this.header_ = n, this.height_ = 0, this.active_ = !1 - } - var t = e.prototype; - return t.setup = function() { - for (var e = this.el_; e = e.previousElementSibling;) { - if (!(e instanceof HTMLElement)) throw new ReferenceError; - this.height_ += e.offsetHeight - } - this.update() - }, t.update = function(e) { - if (!e || "resize" !== e.type && "orientationchange" !== e.type) { - var t = window.pageYOffset >= this.height_; - t !== this.active_ && (this.header_.dataset.mdState = (this.active_ = t) ? "shadow" : "") - } else this.height_ = 0, this.setup() - }, t.reset = function() { - this.header_.dataset.mdState = "", this.height_ = 0, this.active_ = !1 - }, e - }(), - Title: function() { - function e(e, t) { - var n = "string" == typeof e ? document.querySelector(e) : e; - if (!(n instanceof HTMLElement)) throw new ReferenceError; - if (this.el_ = n, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLHeadingElement)) throw new ReferenceError; - this.header_ = n, this.active_ = !1 - } - var t = e.prototype; - return t.setup = function() { - var t = this; - Array.prototype.forEach.call(this.el_.children, function(e) { - e.style.width = t.el_.offsetWidth - 20 + "px" - }) - }, t.update = function(e) { - var t = this, - n = window.pageYOffset >= this.header_.offsetTop; - n !== this.active_ && (this.el_.dataset.mdState = (this.active_ = n) ? "active" : ""), "resize" !== e.type && "orientationchange" !== e.type || Array.prototype.forEach.call(this.el_.children, function(e) { - e.style.width = t.el_.offsetWidth - 20 + "px" - }) - }, t.reset = function() { - this.el_.dataset.mdState = "", this.el_.style.width = "", this.active_ = !1 - }, e - }() - }, - o = { - Blur: function() { - function e(e) { - this.els_ = "string" == typeof e ? document.querySelectorAll(e) : e, this.index_ = 0, this.offset_ = window.pageYOffset, this.dir_ = !1, this.anchors_ = [].reduce.call(this.els_, function(e, t) { - var n = decodeURIComponent(t.hash); - return e.concat(document.getElementById(n.substring(1)) || []) - }, []) - } - var t = e.prototype; - return t.setup = function() { - this.update() - }, t.update = function() { - var e = window.pageYOffset, - t = this.offset_ - e < 0; - if (this.dir_ !== t && (this.index_ = this.index_ = t ? 0 : this.els_.length - 1), 0 !== this.anchors_.length) { - if (this.offset_ <= e) - for (var n = this.index_ + 1; n < this.els_.length && this.anchors_[n].offsetTop - 80 <= e; n++) 0 < n && (this.els_[n - 1].dataset.mdState = "blur"), this.index_ = n; - else - for (var r = this.index_; 0 <= r; r--) { - if (!(this.anchors_[r].offsetTop - 80 > e)) { - this.index_ = r; - break - } - 0 < r && (this.els_[r - 1].dataset.mdState = "") - } - this.offset_ = e, this.dir_ = t - } - }, t.reset = function() { - Array.prototype.forEach.call(this.els_, function(e) { - e.dataset.mdState = "" - }), this.index_ = 0, this.offset_ = window.pageYOffset - }, e - }(), - Collapse: function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - this.el_ = t - } - var t = e.prototype; - return t.setup = function() { - var e = this.el_.getBoundingClientRect().height; - this.el_.style.display = e ? "block" : "none", this.el_.style.overflow = e ? "visible" : "hidden" - }, t.update = function() { - var e = this, - t = this.el_.getBoundingClientRect().height; - this.el_.style.display = "block", this.el_.style.overflow = ""; - var r = this.el_.previousElementSibling.previousElementSibling.checked; - if (r) this.el_.style.maxHeight = t + "px", requestAnimationFrame(function() { - e.el_.setAttribute("data-md-state", "animate"), e.el_.style.maxHeight = "0px" - }); - else { - this.el_.setAttribute("data-md-state", "expand"), this.el_.style.maxHeight = ""; - var n = this.el_.getBoundingClientRect().height; - this.el_.removeAttribute("data-md-state"), this.el_.style.maxHeight = "0px", requestAnimationFrame(function() { - e.el_.setAttribute("data-md-state", "animate"), e.el_.style.maxHeight = n + "px" - }) - } - this.el_.addEventListener("transitionend", function e(t) { - var n = t.target; - if (!(n instanceof HTMLElement)) throw new ReferenceError; - n.removeAttribute("data-md-state"), n.style.maxHeight = "", n.style.display = r ? "none" : "block", n.style.overflow = r ? "hidden" : "visible", n.removeEventListener("transitionend", e) - }, !1) - }, t.reset = function() { - this.el_.dataset.mdState = "", this.el_.style.maxHeight = "", this.el_.style.display = "", this.el_.style.overflow = "" - }, e - }(), - Scrolling: function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - this.el_ = t - } - var t = e.prototype; - return t.setup = function() { - this.el_.children[this.el_.children.length - 1].style.webkitOverflowScrolling = "touch"; - var e = this.el_.querySelectorAll("[data-md-toggle]"); - Array.prototype.forEach.call(e, function(e) { - if (!(e instanceof HTMLInputElement)) throw new ReferenceError; - if (e.checked) { - var t = e.nextElementSibling; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - for (; - "NAV" !== t.tagName && t.nextElementSibling;) t = t.nextElementSibling; - if (!(e.parentNode instanceof HTMLElement && e.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; - var n = e.parentNode.parentNode, - r = t.children[t.children.length - 1]; - n.style.webkitOverflowScrolling = "", r.style.webkitOverflowScrolling = "touch" - } - }) - }, t.update = function(e) { - var t = e.target; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - var n = t.nextElementSibling; - if (!(n instanceof HTMLElement)) throw new ReferenceError; - for (; - "NAV" !== n.tagName && n.nextElementSibling;) n = n.nextElementSibling; - if (!(t.parentNode instanceof HTMLElement && t.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; - var r = t.parentNode.parentNode, - i = n.children[n.children.length - 1]; - if (r.style.webkitOverflowScrolling = "", i.style.webkitOverflowScrolling = "", !t.checked) { - n.addEventListener("transitionend", function e() { - n instanceof HTMLElement && (r.style.webkitOverflowScrolling = "touch", n.removeEventListener("transitionend", e)) - }, !1) - } - if (t.checked) { - n.addEventListener("transitionend", function e() { - n instanceof HTMLElement && (i.style.webkitOverflowScrolling = "touch", n.removeEventListener("transitionend", e)) - }, !1) - } - }, t.reset = function() { - this.el_.children[1].style.webkitOverflowScrolling = ""; - var e = this.el_.querySelectorAll("[data-md-toggle]"); - Array.prototype.forEach.call(e, function(e) { - if (!(e instanceof HTMLInputElement)) throw new ReferenceError; - if (e.checked) { - var t = e.nextElementSibling; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - for (; - "NAV" !== t.tagName && t.nextElementSibling;) t = t.nextElementSibling; - if (!(e.parentNode instanceof HTMLElement && e.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; - var n = e.parentNode.parentNode, - r = t.children[t.children.length - 1]; - n.style.webkitOverflowScrolling = "", r.style.webkitOverflowScrolling = "" - } - }) - }, e - }() - }, - a = { - Lock: function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof HTMLInputElement)) throw new ReferenceError; - if (this.el_ = t, !document.body) throw new ReferenceError; - this.lock_ = document.body - } - var t = e.prototype; - return t.setup = function() { - this.update() - }, t.update = function() { - var e = this; - this.el_.checked ? (this.offset_ = window.pageYOffset, setTimeout(function() { - window.scrollTo(0, 0), e.el_.checked && (e.lock_.dataset.mdState = "lock") - }, 400)) : (this.lock_.dataset.mdState = "", setTimeout(function() { - void 0 !== e.offset_ && window.scrollTo(0, e.offset_) - }, 100)) - }, t.reset = function() { - "lock" === this.lock_.dataset.mdState && window.scrollTo(0, this.offset_), this.lock_.dataset.mdState = "" - }, e - }(), - Result: n(9).a - }, - s = { - Position: function() { - function e(e, t) { - var n = "string" == typeof e ? document.querySelector(e) : e; - if (!(n instanceof HTMLElement && n.parentNode instanceof HTMLElement)) throw new ReferenceError; - if (this.el_ = n, this.parent_ = n.parentNode, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLElement)) throw new ReferenceError; - this.header_ = n, this.height_ = 0, this.pad_ = "fixed" === window.getComputedStyle(this.header_).position - } - var t = e.prototype; - return t.setup = function() { - var e = Array.prototype.reduce.call(this.parent_.children, function(e, t) { - return Math.max(e, t.offsetTop) - }, 0); - this.offset_ = e - (this.pad_ ? this.header_.offsetHeight : 0), this.update() - }, t.update = function(e) { - var t = window.pageYOffset, - n = window.innerHeight; - e && "resize" === e.type && this.setup(); - var r = this.pad_ ? this.header_.offsetHeight : 0, - i = this.parent_.offsetTop + this.parent_.offsetHeight, - o = n - r - Math.max(0, this.offset_ - t) - Math.max(0, t + n - i); - o !== this.height_ && (this.el_.style.height = (this.height_ = o) + "px"), t >= this.offset_ ? "lock" !== this.el_.dataset.mdState && (this.el_.dataset.mdState = "lock") : "lock" === this.el_.dataset.mdState && (this.el_.dataset.mdState = "") - }, t.reset = function() { - this.el_.dataset.mdState = "", this.el_.style.height = "", this.height_ = 0 - }, e - }() - }, - c = n(6), - l = n.n(c); - var u = { - Adapter: { - GitHub: function(o) { - var e, t; - - function n(e) { - var t; - t = o.call(this, e) || this; - var n = /^.+github\.com\/([^/]+)\/?([^/]+)?.*$/.exec(t.base_); - if (n && 3 === n.length) { - var r = n[1], - i = n[2]; - t.base_ = "https://api.github.com/users/" + r + "/repos", t.name_ = i - } - return t - } - return t = o, (e = n).prototype = Object.create(t.prototype), (e.prototype.constructor = e).__proto__ = t, n.prototype.fetch_ = function() { - var i = this; - return function n(r) { - return void 0 === r && (r = 0), fetch(i.base_ + "?per_page=30&page=" + r).then(function(e) { - return e.json() - }).then(function(e) { - if (!(e instanceof Array)) throw new TypeError; - if (i.name_) { - var t = e.find(function(e) { - return e.name === i.name_ - }); - return t || 30 !== e.length ? t ? [i.format_(t.stargazers_count) + " Stars", i.format_(t.forks_count) + " Forks"] : [] : n(r + 1) - } - return [e.length + " Repositories"] - }) - }() - }, n - }(function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof HTMLAnchorElement)) throw new ReferenceError; - this.el_ = t, this.base_ = this.el_.href, this.salt_ = this.hash_(this.base_) - } - var t = e.prototype; - return t.fetch = function() { - var n = this; - return new Promise(function(t) { - var e = l.a.getJSON(n.salt_ + ".cache-source"); - void 0 !== e ? t(e) : n.fetch_().then(function(e) { - l.a.set(n.salt_ + ".cache-source", e, { - expires: 1 / 96 - }), t(e) - }) - }) - }, t.fetch_ = function() { - throw new Error("fetch_(): Not implemented") - }, t.format_ = function(e) { - return 1e4 < e ? (e / 1e3).toFixed(0) + "k" : 1e3 < e ? (e / 1e3).toFixed(1) + "k" : "" + e - }, t.hash_ = function(e) { - var t = 0; - if (0 === e.length) return t; - for (var n = 0, r = e.length; n < r; n++) t = (t << 5) - t + e.charCodeAt(n), t |= 0; - return t - }, e - }()) - }, - Repository: n(10).a - }, - f = { - Toggle: function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof Node)) throw new ReferenceError; - this.el_ = t; - var n = document.querySelector("[data-md-component=header]"); - this.height_ = n.offsetHeight, this.active_ = !1 - } - var t = e.prototype; - return t.update = function() { - var e = window.pageYOffset >= this.el_.children[0].offsetTop + (5 - this.height_); - e !== this.active_ && (this.el_.dataset.mdState = (this.active_ = e) ? "hidden" : "") - }, t.reset = function() { - this.el_.dataset.mdState = "", this.active_ = !1 - }, e - }() - }; - t.a = { - Event: r, - Header: i, - Nav: o, - Search: a, - Sidebar: s, - Source: u, - Tabs: f - } -}, function(t, e, n) { - (function(e) { - t.exports = e.lunr = n(24) - }).call(this, n(4)) -}, function(e, f, d) { - "use strict"; - (function(t) { - var e = d(8), - n = setTimeout; - - function r() {} - - function o(e) { - if (!(this instanceof o)) throw new TypeError("Promises must be constructed via new"); - if ("function" != typeof e) throw new TypeError("not a function"); - this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], u(e, this) - } - - function i(n, r) { - for (; 3 === n._state;) n = n._value; - 0 !== n._state ? (n._handled = !0, o._immediateFn(function() { - var e = 1 === n._state ? r.onFulfilled : r.onRejected; - if (null !== e) { - var t; - try { - t = e(n._value) - } catch (e) { - return void s(r.promise, e) - } - a(r.promise, t) - } else(1 === n._state ? a : s)(r.promise, n._value) - })) : n._deferreds.push(r) - } - - function a(t, e) { - try { - if (e === t) throw new TypeError("A promise cannot be resolved with itself."); - if (e && ("object" == typeof e || "function" == typeof e)) { - var n = e.then; - if (e instanceof o) return t._state = 3, t._value = e, void c(t); - if ("function" == typeof n) return void u((r = n, i = e, function() { - r.apply(i, arguments) - }), t) - } - t._state = 1, t._value = e, c(t) - } catch (e) { - s(t, e) - } - var r, i - } - - function s(e, t) { - e._state = 2, e._value = t, c(e) - } - - function c(e) { - 2 === e._state && 0 === e._deferreds.length && o._immediateFn(function() { - e._handled || o._unhandledRejectionFn(e._value) - }); - for (var t = 0, n = e._deferreds.length; t < n; t++) i(e, e._deferreds[t]); - e._deferreds = null - } - - function l(e, t, n) { - this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.promise = n - } - - function u(e, t) { - var n = !1; - try { - e(function(e) { - n || (n = !0, a(t, e)) - }, function(e) { - n || (n = !0, s(t, e)) - }) - } catch (e) { - if (n) return; - n = !0, s(t, e) - } - } - o.prototype.catch = function(e) { - return this.then(null, e) - }, o.prototype.then = function(e, t) { - var n = new this.constructor(r); - return i(this, new l(e, t, n)), n - }, o.prototype.finally = e.a, o.all = function(t) { - return new o(function(r, i) { - if (!t || void 0 === t.length) throw new TypeError("Promise.all accepts an array"); - var o = Array.prototype.slice.call(t); - if (0 === o.length) return r([]); - var a = o.length; - - function s(t, e) { - try { - if (e && ("object" == typeof e || "function" == typeof e)) { - var n = e.then; - if ("function" == typeof n) return void n.call(e, function(e) { - s(t, e) - }, i) - } - o[t] = e, 0 == --a && r(o) - } catch (e) { - i(e) - } - } - for (var e = 0; e < o.length; e++) s(e, o[e]) - }) - }, o.resolve = function(t) { - return t && "object" == typeof t && t.constructor === o ? t : new o(function(e) { - e(t) - }) - }, o.reject = function(n) { - return new o(function(e, t) { - t(n) - }) - }, o.race = function(i) { - return new o(function(e, t) { - for (var n = 0, r = i.length; n < r; n++) i[n].then(e, t) - }) - }, o._immediateFn = "function" == typeof t && function(e) { - t(e) - } || function(e) { - n(e, 0) - }, o._unhandledRejectionFn = function(e) { - "undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", e) - }, f.a = o - }).call(this, d(21).setImmediate) -}, function(e, t, n) { - "use strict"; - - function r(e, t) { - var n = document.createElement(e); - t && Array.prototype.forEach.call(Object.keys(t), function(e) { - n.setAttribute(e, t[e]) - }); - for (var r = arguments.length, i = new Array(2 < r ? r - 2 : 0), o = 2; o < r; o++) i[o - 2] = arguments[o]; - return function t(e) { - Array.prototype.forEach.call(e, function(e) { - "string" == typeof e || "number" == typeof e ? n.textContent += e : Array.isArray(e) ? t(e) : void 0 !== e.__html ? n.innerHTML += e.__html : e instanceof Node && n.appendChild(e) - }) - }(i), n - } - n.r(t), n.d(t, "createElement", function() { - return r - }) -}, function(e, t) { - var n; - n = function() { - return this - }(); - try { - n = n || new Function("return this")() - } catch (e) { - "object" == typeof window && (n = window) - } - e.exports = n -}, function(e, t, n) { - var r; - r = function() { - return function(n) { - var r = {}; - - function i(e) { - if (r[e]) return r[e].exports; - var t = r[e] = { - i: e, - l: !1, - exports: {} - }; - return n[e].call(t.exports, t, t.exports, i), t.l = !0, t.exports - } - return i.m = n, i.c = r, i.d = function(e, t, n) { - i.o(e, t) || Object.defineProperty(e, t, { - enumerable: !0, - get: n - }) - }, i.r = function(e) { - "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { - value: "Module" - }), Object.defineProperty(e, "__esModule", { - value: !0 - }) - }, i.t = function(t, e) { - if (1 & e && (t = i(t)), 8 & e) return t; - if (4 & e && "object" == typeof t && t && t.__esModule) return t; - var n = Object.create(null); - if (i.r(n), Object.defineProperty(n, "default", { - enumerable: !0, - value: t - }), 2 & e && "string" != typeof t) - for (var r in t) i.d(n, r, function(e) { - return t[e] - }.bind(null, r)); - return n - }, i.n = function(e) { - var t = e && e.__esModule ? function() { - return e.default - } : function() { - return e - }; - return i.d(t, "a", t), t - }, i.o = function(e, t) { - return Object.prototype.hasOwnProperty.call(e, t) - }, i.p = "", i(i.s = 0) - }([function(e, t, n) { - "use strict"; - var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { - return typeof e - } : function(e) { - return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e - }, - o = function() { - function r(e, t) { - for (var n = 0; n < t.length; n++) { - var r = t[n]; - r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) - } - } - return function(e, t, n) { - return t && r(e.prototype, t), n && r(e, n), e - } - }(), - a = r(n(1)), - s = r(n(3)), - c = r(n(4)); - - function r(e) { - return e && e.__esModule ? e : { - default: e - } - } - var l = function(e) { - function r(e, t) { - ! function(e, t) { - if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") - }(this, r); - var n = function(e, t) { - if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - return !t || "object" != typeof t && "function" != typeof t ? e : t - }(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this)); - return n.resolveOptions(t), n.listenClick(e), n - } - return function(e, t) { - if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t); - e.prototype = Object.create(t && t.prototype, { - constructor: { - value: e, - enumerable: !1, - writable: !0, - configurable: !0 - } - }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t) - }(r, s.default), o(r, [{ - key: "resolveOptions", - value: function() { - var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; - this.action = "function" == typeof e.action ? e.action : this.defaultAction, this.target = "function" == typeof e.target ? e.target : this.defaultTarget, this.text = "function" == typeof e.text ? e.text : this.defaultText, this.container = "object" === i(e.container) ? e.container : document.body - } - }, { - key: "listenClick", - value: function(e) { - var t = this; - this.listener = (0, c.default)(e, "click", function(e) { - return t.onClick(e) - }) - } - }, { - key: "onClick", - value: function(e) { - var t = e.delegateTarget || e.currentTarget; - this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new a.default({ - action: this.action(t), - target: this.target(t), - text: this.text(t), - container: this.container, - trigger: t, - emitter: this - }) - } - }, { - key: "defaultAction", - value: function(e) { - return u("action", e) - } - }, { - key: "defaultTarget", - value: function(e) { - var t = u("target", e); - if (t) return document.querySelector(t) - } - }, { - key: "defaultText", - value: function(e) { - return u("text", e) - } - }, { - key: "destroy", - value: function() { - this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null) - } - }], [{ - key: "isSupported", - value: function() { - var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"], - t = "string" == typeof e ? [e] : e, - n = !!document.queryCommandSupported; - return t.forEach(function(e) { - n = n && !!document.queryCommandSupported(e) - }), n - } - }]), r - }(); - - function u(e, t) { - var n = "data-clipboard-" + e; - if (t.hasAttribute(n)) return t.getAttribute(n) - } - e.exports = l - }, function(e, t, n) { - "use strict"; - var r, i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { - return typeof e - } : function(e) { - return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e - }, - o = function() { - function r(e, t) { - for (var n = 0; n < t.length; n++) { - var r = t[n]; - r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) - } - } - return function(e, t, n) { - return t && r(e.prototype, t), n && r(e, n), e - } - }(), - a = n(2), - s = (r = a) && r.__esModule ? r : { - default: r - }; - var c = function() { - function t(e) { - ! function(e, t) { - if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") - }(this, t), this.resolveOptions(e), this.initSelection() - } - return o(t, [{ - key: "resolveOptions", - value: function() { - var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; - this.action = e.action, this.container = e.container, this.emitter = e.emitter, this.target = e.target, this.text = e.text, this.trigger = e.trigger, this.selectedText = "" - } - }, { - key: "initSelection", - value: function() { - this.text ? this.selectFake() : this.target && this.selectTarget() - } - }, { - key: "selectFake", - value: function() { - var e = this, - t = "rtl" == document.documentElement.getAttribute("dir"); - this.removeFake(), this.fakeHandlerCallback = function() { - return e.removeFake() - }, this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement("textarea"), this.fakeElem.style.fontSize = "12pt", this.fakeElem.style.border = "0", this.fakeElem.style.padding = "0", this.fakeElem.style.margin = "0", this.fakeElem.style.position = "absolute", this.fakeElem.style[t ? "right" : "left"] = "-9999px"; - var n = window.pageYOffset || document.documentElement.scrollTop; - this.fakeElem.style.top = n + "px", this.fakeElem.setAttribute("readonly", ""), this.fakeElem.value = this.text, this.container.appendChild(this.fakeElem), this.selectedText = (0, s.default)(this.fakeElem), this.copyText() - } - }, { - key: "removeFake", - value: function() { - this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (this.container.removeChild(this.fakeElem), this.fakeElem = null) - } - }, { - key: "selectTarget", - value: function() { - this.selectedText = (0, s.default)(this.target), this.copyText() - } - }, { - key: "copyText", - value: function() { - var t = void 0; - try { - t = document.execCommand(this.action) - } catch (e) { - t = !1 - } - this.handleResult(t) - } - }, { - key: "handleResult", - value: function(e) { - this.emitter.emit(e ? "success" : "error", { - action: this.action, - text: this.selectedText, - trigger: this.trigger, - clearSelection: this.clearSelection.bind(this) - }) - } - }, { - key: "clearSelection", - value: function() { - this.trigger && this.trigger.focus(), window.getSelection().removeAllRanges() - } - }, { - key: "destroy", - value: function() { - this.removeFake() - } - }, { - key: "action", - set: function() { - var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "copy"; - if (this._action = e, "copy" !== this._action && "cut" !== this._action) throw new Error('Invalid "action" value, use either "copy" or "cut"') - }, - get: function() { - return this._action - } - }, { - key: "target", - set: function(e) { - if (void 0 !== e) { - if (!e || "object" !== (void 0 === e ? "undefined" : i(e)) || 1 !== e.nodeType) throw new Error('Invalid "target" value, use a valid Element'); - if ("copy" === this.action && e.hasAttribute("disabled")) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); - if ("cut" === this.action && (e.hasAttribute("readonly") || e.hasAttribute("disabled"))) throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); - this._target = e - } - }, - get: function() { - return this._target - } - }]), t - }(); - e.exports = c - }, function(e, t) { - e.exports = function(e) { - var t; - if ("SELECT" === e.nodeName) e.focus(), t = e.value; - else if ("INPUT" === e.nodeName || "TEXTAREA" === e.nodeName) { - var n = e.hasAttribute("readonly"); - n || e.setAttribute("readonly", ""), e.select(), e.setSelectionRange(0, e.value.length), n || e.removeAttribute("readonly"), t = e.value - } else { - e.hasAttribute("contenteditable") && e.focus(); - var r = window.getSelection(), - i = document.createRange(); - i.selectNodeContents(e), r.removeAllRanges(), r.addRange(i), t = r.toString() - } - return t - } - }, function(e, t) { - function n() {} - n.prototype = { - on: function(e, t, n) { - var r = this.e || (this.e = {}); - return (r[e] || (r[e] = [])).push({ - fn: t, - ctx: n - }), this - }, - once: function(e, t, n) { - var r = this; - - function i() { - r.off(e, i), t.apply(n, arguments) - } - return i._ = t, this.on(e, i, n) - }, - emit: function(e) { - for (var t = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[e] || []).slice(), r = 0, i = n.length; r < i; r++) n[r].fn.apply(n[r].ctx, t); - return this - }, - off: function(e, t) { - var n = this.e || (this.e = {}), - r = n[e], - i = []; - if (r && t) - for (var o = 0, a = r.length; o < a; o++) r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]); - return i.length ? n[e] = i : delete n[e], this - } - }, e.exports = n - }, function(e, t, n) { - var d = n(5), - h = n(6); - e.exports = function(e, t, n) { - if (!e && !t && !n) throw new Error("Missing required arguments"); - if (!d.string(t)) throw new TypeError("Second argument must be a String"); - if (!d.fn(n)) throw new TypeError("Third argument must be a Function"); - if (d.node(e)) return u = t, f = n, (l = e).addEventListener(u, f), { - destroy: function() { - l.removeEventListener(u, f) - } - }; - if (d.nodeList(e)) return a = e, s = t, c = n, Array.prototype.forEach.call(a, function(e) { - e.addEventListener(s, c) - }), { - destroy: function() { - Array.prototype.forEach.call(a, function(e) { - e.removeEventListener(s, c) - }) - } - }; - if (d.string(e)) return r = e, i = t, o = n, h(document.body, r, i, o); - throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList"); - var r, i, o, a, s, c, l, u, f - } - }, function(e, n) { - n.node = function(e) { - return void 0 !== e && e instanceof HTMLElement && 1 === e.nodeType - }, n.nodeList = function(e) { - var t = Object.prototype.toString.call(e); - return void 0 !== e && ("[object NodeList]" === t || "[object HTMLCollection]" === t) && "length" in e && (0 === e.length || n.node(e[0])) - }, n.string = function(e) { - return "string" == typeof e || e instanceof String - }, n.fn = function(e) { - return "[object Function]" === Object.prototype.toString.call(e) - } - }, function(e, t, n) { - var a = n(7); - - function o(e, t, n, r, i) { - var o = function(t, n, e, r) { - return function(e) { - e.delegateTarget = a(e.target, n), e.delegateTarget && r.call(t, e) - } - }.apply(this, arguments); - return e.addEventListener(n, o, i), { - destroy: function() { - e.removeEventListener(n, o, i) - } - } - } - e.exports = function(e, t, n, r, i) { - return "function" == typeof e.addEventListener ? o.apply(null, arguments) : "function" == typeof n ? o.bind(null, document).apply(null, arguments) : ("string" == typeof e && (e = document.querySelectorAll(e)), Array.prototype.map.call(e, function(e) { - return o(e, t, n, r, i) - })) - } - }, function(e, t) { - if ("undefined" != typeof Element && !Element.prototype.matches) { - var n = Element.prototype; - n.matches = n.matchesSelector || n.mozMatchesSelector || n.msMatchesSelector || n.oMatchesSelector || n.webkitMatchesSelector - } - e.exports = function(e, t) { - for (; e && 9 !== e.nodeType;) { - if ("function" == typeof e.matches && e.matches(t)) return e; - e = e.parentNode - } - } - }]) - }, e.exports = r() -}, function(r, i, o) { - var a, s; - ! function(e) { - if (void 0 === (s = "function" == typeof(a = e) ? a.call(i, o, i, r) : a) || (r.exports = s), !0, r.exports = e(), !!0) { - var t = window.Cookies, - n = window.Cookies = e(); - n.noConflict = function() { - return window.Cookies = t, n - } - } - }(function() { - function m() { - for (var e = 0, t = {}; e < arguments.length; e++) { - var n = arguments[e]; - for (var r in n) t[r] = n[r] - } - return t - } - return function e(h) { - function p(e, t, n) { - var r; - if ("undefined" != typeof document) { - if (1 < arguments.length) { - if ("number" == typeof(n = m({ - path: "/" - }, p.defaults, n)).expires) { - var i = new Date; - i.setMilliseconds(i.getMilliseconds() + 864e5 * n.expires), n.expires = i - } - n.expires = n.expires ? n.expires.toUTCString() : ""; - try { - r = JSON.stringify(t), /^[\{\[]/.test(r) && (t = r) - } catch (e) {} - t = h.write ? h.write(t, e) : encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), e = (e = (e = encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)).replace(/[\(\)]/g, escape); - var o = ""; - for (var a in n) n[a] && (o += "; " + a, !0 !== n[a] && (o += "=" + n[a])); - return document.cookie = e + "=" + t + o - } - e || (r = {}); - for (var s = document.cookie ? document.cookie.split("; ") : [], c = /(%[0-9A-Z]{2})+/g, l = 0; l < s.length; l++) { - var u = s[l].split("="), - f = u.slice(1).join("="); - this.json || '"' !== f.charAt(0) || (f = f.slice(1, -1)); - try { - var d = u[0].replace(c, decodeURIComponent); - if (f = h.read ? h.read(f, d) : h(f, d) || f.replace(c, decodeURIComponent), this.json) try { - f = JSON.parse(f) - } catch (e) {} - if (e === d) { - r = f; - break - } - e || (r[d] = f) - } catch (e) {} - } - return r - } - } - return (p.set = p).get = function(e) { - return p.call(p, e) - }, p.getJSON = function() { - return p.apply({ - json: !0 - }, [].slice.call(arguments)) - }, p.defaults = {}, p.remove = function(e, t) { - p(e, "", m(t, { - expires: -1 - })) - }, p.withConverter = e, p - }(function() {}) - }) -}, function(e, t, n) { - "use strict"; - n.r(t); - var r = "function" == typeof fetch ? fetch.bind() : function(i, o) { - return o = o || {}, new Promise(function(e, t) { - var n = new XMLHttpRequest; - for (var r in n.open(o.method || "get", i, !0), o.headers) n.setRequestHeader(r, o.headers[r]); - - function s() { - var r, i = [], - o = [], - a = {}; - return n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(e, t, n) { - i.push(t = t.toLowerCase()), o.push([t, n]), r = a[t], a[t] = r ? r + "," + n : n - }), { - ok: 2 == (n.status / 100 | 0), - status: n.status, - statusText: n.statusText, - url: n.responseURL, - clone: s, - text: function() { - return Promise.resolve(n.responseText) - }, - json: function() { - return Promise.resolve(n.responseText).then(JSON.parse) - }, - blob: function() { - return Promise.resolve(new Blob([n.response])) - }, - headers: { - keys: function() { - return i - }, - entries: function() { - return o - }, - get: function(e) { - return a[e.toLowerCase()] - }, - has: function(e) { - return e.toLowerCase() in a - } - } - } - } - n.withCredentials = "include" == o.credentials, n.onload = function() { - e(s()) - }, n.onerror = t, n.send(o.body || null) - }) - }; - t.default = r -}, function(e, t, n) { - "use strict"; - t.a = function(t) { - var n = this.constructor; - return this.then(function(e) { - return n.resolve(t()).then(function() { - return e - }) - }, function(e) { - return n.resolve(t()).then(function() { - return n.reject(e) - }) - }) - } -}, function(e, n, r) { - "use strict"; - (function(f) { - r.d(n, "a", function() { - return t - }); - var e = r(1), - d = r.n(e), - h = function(e) { - var t = document.getElementsByName("lang:" + e)[0]; - if (!(t instanceof HTMLMetaElement)) throw new ReferenceError; - return t.content - }, - t = function() { - function e(e, t) { - var n = "string" == typeof e ? document.querySelector(e) : e; - if (!(n instanceof HTMLElement)) throw new ReferenceError; - this.el_ = n; - var r = Array.prototype.slice.call(this.el_.children), - i = r[0], - o = r[1]; - this.data_ = t, this.meta_ = i, this.list_ = o, this.message_ = { - placeholder: this.meta_.textContent, - none: h("search.result.none"), - one: h("search.result.one"), - other: h("search.result.other") - }; - var a = h("search.tokenizer"); - a.length && (d.a.tokenizer.separator = a), this.lang_ = h("search.language").split(",").filter(Boolean).map(function(e) { - return e.trim() - }) - } - return e.prototype.update = function(e) { - var t, a = this; - if ("focus" !== e.type || this.index_) { - if ("focus" === e.type || "keyup" === e.type) { - var n = e.target; - if (!(n instanceof HTMLInputElement)) throw new ReferenceError; - if (!this.index_ || n.value === this.value_) return; - for (; this.list_.firstChild;) this.list_.removeChild(this.list_.firstChild); - if (this.value_ = n.value, 0 === this.value_.length) return void(this.meta_.textContent = this.message_.placeholder); - var r = this.index_.query(function(t) { - a.value_.toLowerCase().split(" ").filter(Boolean).forEach(function(e) { - t.term(e, { - wildcard: d.a.Query.wildcard.TRAILING - }) - }) - }).reduce(function(e, t) { - var n = a.docs_.get(t.ref); - if (n.parent) { - var r = n.parent.location; - e.set(r, (e.get(r) || []).concat(t)) - } else { - var i = n.location; - e.set(i, e.get(i) || []) - } - return e - }, new Map), - i = (t = this.value_.trim(), t.replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&")).replace(new RegExp(d.a.tokenizer.separator, "img"), "|"), - s = new RegExp("(^|" + d.a.tokenizer.separator + ")(" + i + ")", "img"), - c = function(e, t, n) { - return t + "" + n + "" - }; - this.stack_ = [], r.forEach(function(e, t) { - var n, r = a.docs_.get(t), - i = f.createElement("li", { - class: "md-search-result__item" - }, f.createElement("a", { - href: r.location, - title: r.title, - class: "md-search-result__link", - tabindex: "-1" - }, f.createElement("article", { - class: "md-search-result__article md-search-result__article--document" - }, f.createElement("h1", { - class: "md-search-result__title" - }, { - __html: r.title.replace(s, c) - }), r.text.length ? f.createElement("p", { - class: "md-search-result__teaser" - }, { - __html: r.text.replace(s, c) - }) : {}))), - o = e.map(function(t) { - return function() { - var e = a.docs_.get(t.ref); - i.appendChild(f.createElement("a", { - href: e.location, - title: e.title, - class: "md-search-result__link", - "data-md-rel": "anchor", - tabindex: "-1" - }, f.createElement("article", { - class: "md-search-result__article" - }, f.createElement("h1", { - class: "md-search-result__title" - }, { - __html: e.title.replace(s, c) - }), e.text.length ? f.createElement("p", { - class: "md-search-result__teaser" - }, { - __html: function(e, t) { - var n = t; - if (e.length > n) { - for (; - " " !== e[n] && 0 < --n;); - return e.substring(0, n) + "..." - } - return e - }(e.text.replace(s, c), 400) - }) : {}))) - } - }); - (n = a.stack_).push.apply(n, [function() { - return a.list_.appendChild(i) - }].concat(o)) - }); - var o = this.el_.parentNode; - if (!(o instanceof HTMLElement)) throw new ReferenceError; - for (; this.stack_.length && o.offsetHeight >= o.scrollHeight - 16;) this.stack_.shift()(); - var l = this.list_.querySelectorAll("[data-md-rel=anchor]"); - switch (Array.prototype.forEach.call(l, function(r) { - ["click", "keydown"].forEach(function(n) { - r.addEventListener(n, function(e) { - if ("keydown" !== n || 13 === e.keyCode) { - var t = document.querySelector("[data-md-toggle=search]"); - if (!(t instanceof HTMLInputElement)) throw new ReferenceError; - t.checked && (t.checked = !1, t.dispatchEvent(new CustomEvent("change"))), e.preventDefault(), setTimeout(function() { - document.location.href = r.href - }, 100) - } - }) - }) - }), r.size) { - case 0: - this.meta_.textContent = this.message_.none; - break; - case 1: - this.meta_.textContent = this.message_.one; - break; - default: - this.meta_.textContent = this.message_.other.replace("#", r.size) - } - } - } else { - var u = function(e) { - a.docs_ = e.reduce(function(e, t) { - var n, r, i, o = t.location.split("#"), - a = o[0], - s = o[1]; - return t.text = (n = t.text, r = document.createTextNode(n), (i = document.createElement("p")).appendChild(r), i.innerHTML), s && (t.parent = e.get(a), t.parent && !t.parent.done && (t.parent.title = t.title, t.parent.text = t.text, t.parent.done = !0)), t.text = t.text.replace(/\n/g, " ").replace(/\s+/g, " ").replace(/\s+([,.:;!?])/g, function(e, t) { - return t - }), t.parent && t.parent.title === t.title || e.set(t.location, t), e - }, new Map); - var i = a.docs_, - o = a.lang_; - a.stack_ = [], a.index_ = d()(function() { - var e, t = this, - n = { - "search.pipeline.trimmer": d.a.trimmer, - "search.pipeline.stopwords": d.a.stopWordFilter - }, - r = Object.keys(n).reduce(function(e, t) { - return h(t).match(/^false$/i) || e.push(n[t]), e - }, []); - this.pipeline.reset(), r && (e = this.pipeline).add.apply(e, r), 1 === o.length && "en" !== o[0] && d.a[o[0]] ? this.use(d.a[o[0]]) : 1 < o.length && this.use(d.a.multiLanguage.apply(d.a, o)), this.field("title", { - boost: 10 - }), this.field("text"), this.ref("location"), i.forEach(function(e) { - return t.add(e) - }) - }); - var t = a.el_.parentNode; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - t.addEventListener("scroll", function() { - for (; a.stack_.length && t.scrollTop + t.offsetHeight >= t.scrollHeight - 16;) a.stack_.splice(0, 10).forEach(function(e) { - return e() - }) - }) - }; - setTimeout(function() { - return "function" == typeof a.data_ ? a.data_().then(u) : u(a.data_) - }, 250) - } - }, e - }() - }).call(this, r(3)) -}, function(e, n, r) { - "use strict"; - (function(t) { - r.d(n, "a", function() { - return e - }); - var e = function() { - function e(e) { - var t = "string" == typeof e ? document.querySelector(e) : e; - if (!(t instanceof HTMLElement)) throw new ReferenceError; - this.el_ = t - } - return e.prototype.initialize = function(e) { - e.length && this.el_.children.length && this.el_.children[this.el_.children.length - 1].appendChild(t.createElement("ul", { - class: "md-source__facts" - }, e.map(function(e) { - return t.createElement("li", { - class: "md-source__fact" - }, e) - }))), this.el_.dataset.mdState = "done" - }, e - }() - }).call(this, r(3)) -}, , , function(e, n, c) { - "use strict"; - c.r(n), - function(o) { - c.d(n, "app", function() { - return t - }); - c(14), c(15), c(16), c(17), c(18), c(19), c(20); - var r = c(2), - e = c(5), - a = c.n(e), - i = c(0); - window.Promise = window.Promise || r.a; - var s = function(e) { - var t = document.getElementsByName("lang:" + e)[0]; - if (!(t instanceof HTMLMetaElement)) throw new ReferenceError; - return t.content - }; - var t = { - initialize: function(t) { - new i.a.Event.Listener(document, "DOMContentLoaded", function() { - if (!(document.body instanceof HTMLElement)) throw new ReferenceError; - Modernizr.addTest("ios", function() { - return !!navigator.userAgent.match(/(iPad|iPhone|iPod)/g) - }); - var e = document.querySelectorAll("table:not([class])"); - if (Array.prototype.forEach.call(e, function(e) { - var t = o.createElement("div", { - class: "md-typeset__scrollwrap" - }, o.createElement("div", { - class: "md-typeset__table" - })); - e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t), t.children[0].appendChild(e) - }), a.a.isSupported()) { - var t = document.querySelectorAll(".codehilite > pre, pre > code"); - Array.prototype.forEach.call(t, function(e, t) { - var n = "__code_" + t, - r = o.createElement("button", { - class: "md-clipboard", - title: s("clipboard.copy"), - "data-clipboard-target": "#" + n + " pre, #" + n + " code" - }, o.createElement("span", { - class: "md-clipboard__message" - })), - i = e.parentNode; - i.id = n, i.insertBefore(r, e) - }), new a.a(".md-clipboard").on("success", function(e) { - var t = e.trigger.querySelector(".md-clipboard__message"); - if (!(t instanceof HTMLElement)) throw new ReferenceError; - e.clearSelection(), t.dataset.mdTimer && clearTimeout(parseInt(t.dataset.mdTimer, 10)), t.classList.add("md-clipboard__message--active"), t.innerHTML = s("clipboard.copied"), t.dataset.mdTimer = setTimeout(function() { - t.classList.remove("md-clipboard__message--active"), t.dataset.mdTimer = "" - }, 2e3).toString() - }) - } - if (!Modernizr.details) { - var n = document.querySelectorAll("details > summary"); - Array.prototype.forEach.call(n, function(e) { - e.addEventListener("click", function(e) { - var t = e.target.parentNode; - t.hasAttribute("open") ? t.removeAttribute("open") : t.setAttribute("open", "") - }) - }) - } - var r = function() { - if (document.location.hash) { - var e = document.getElementById(document.location.hash.substring(1)); - if (!e) return; - for (var t = e.parentNode; t && !(t instanceof HTMLDetailsElement);) t = t.parentNode; - if (t && !t.open) { - t.open = !0; - var n = location.hash; - location.hash = " ", location.hash = n - } - } - }; - if (window.addEventListener("hashchange", r), r(), Modernizr.ios) { - var i = document.querySelectorAll("[data-md-scrollfix]"); - Array.prototype.forEach.call(i, function(t) { - t.addEventListener("touchstart", function() { - var e = t.scrollTop; - 0 === e ? t.scrollTop = 1 : e + t.offsetHeight === t.scrollHeight && (t.scrollTop = e - 1) - }) - }) - } - }).listen(), new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Header.Shadow("[data-md-component=container]", "[data-md-component=header]")).listen(), new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Header.Title("[data-md-component=title]", ".md-typeset h1")).listen(), document.querySelector("[data-md-component=hero]") && new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Tabs.Toggle("[data-md-component=hero]")).listen(), document.querySelector("[data-md-component=tabs]") && new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Tabs.Toggle("[data-md-component=tabs]")).listen(), new i.a.Event.MatchMedia("(min-width: 1220px)", new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Sidebar.Position("[data-md-component=navigation]", "[data-md-component=header]"))), document.querySelector("[data-md-component=toc]") && new i.a.Event.MatchMedia("(min-width: 960px)", new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Sidebar.Position("[data-md-component=toc]", "[data-md-component=header]"))), new i.a.Event.MatchMedia("(min-width: 960px)", new i.a.Event.Listener(window, "scroll", new i.a.Nav.Blur("[data-md-component=toc] .md-nav__link"))); - var e = document.querySelectorAll("[data-md-component=collapsible]"); - Array.prototype.forEach.call(e, function(e) { - new i.a.Event.MatchMedia("(min-width: 1220px)", new i.a.Event.Listener(e.previousElementSibling, "click", new i.a.Nav.Collapse(e))) - }), new i.a.Event.MatchMedia("(max-width: 1219px)", new i.a.Event.Listener("[data-md-component=navigation] [data-md-toggle]", "change", new i.a.Nav.Scrolling("[data-md-component=navigation] nav"))), document.querySelector("[data-md-component=search]") && (new i.a.Event.MatchMedia("(max-width: 959px)", new i.a.Event.Listener("[data-md-toggle=search]", "change", new i.a.Search.Lock("[data-md-toggle=search]")))), - new i.a.Event.Listener(document.body, "keydown", function(e) { - if (9 === e.keyCode) { - var t = document.querySelectorAll("[data-md-component=navigation] .md-nav__link[for]:not([tabindex])"); - Array.prototype.forEach.call(t, function(e) { - e.offsetHeight && (e.tabIndex = 0) - }) - } - }).listen(), new i.a.Event.Listener(document.body, "mousedown", function() { - var e = document.querySelectorAll("[data-md-component=navigation] .md-nav__link[tabindex]"); - Array.prototype.forEach.call(e, function(e) { - e.removeAttribute("tabIndex") - }) - }).listen(), document.body.addEventListener("click", function() { - "tabbing" === document.body.dataset.mdState && (document.body.dataset.mdState = "") - }), new i.a.Event.MatchMedia("(max-width: 959px)", new i.a.Event.Listener("[data-md-component=navigation] [href^='#']", "click", function() { - var e = document.querySelector("[data-md-toggle=drawer]"); - if (!(e instanceof HTMLInputElement)) throw new ReferenceError; - e.checked && (e.checked = !1, e.dispatchEvent(new CustomEvent("change"))) - })), - function() { - var e = document.querySelector("[data-md-source]"); - if (!e) return r.a.resolve([]); - if (!(e instanceof HTMLAnchorElement)) throw new ReferenceError; - switch (e.dataset.mdSource) { - case "github": - return new i.a.Source.Adapter.GitHub(e).fetch(); - default: - return r.a.resolve([]) - } - }().then(function(t) { - var e = document.querySelectorAll("[data-md-source]"); - Array.prototype.forEach.call(e, function(e) { - new i.a.Source.Repository(e).initialize(t) - }) - }); - var n = function() { - var e = document.querySelectorAll("details"); - Array.prototype.forEach.call(e, function(e) { - e.setAttribute("open", "") - }) - }; - new i.a.Event.MatchMedia("print", { - listen: n, - unlisten: function() {} - }), window.onbeforeprint = n - } - } - }.call(this, c(3)) -}, function(e, t, n) { - e.exports = n.p + "assets/images/icons/bitbucket.1b09e088.svg" -}, function(e, t, n) { - e.exports = n.p + "assets/images/icons/github.f0b8504a.svg" -}, function(e, t, n) { - e.exports = n.p + "assets/images/icons/gitlab.6dd19c00.svg" -}, function(e, t) { - e.exports = "/Users/squidfunk/Desktop/General/Sources/mkdocs-material/material/application.4031d38b.css" -}, function(e, t) { - e.exports = "/Users/squidfunk/Desktop/General/Sources/mkdocs-material/material/application-palette.224b79ff.css" -}, function(e, t) { - ! function() { - if ("undefined" != typeof window) try { - var e = new window.CustomEvent("test", { - cancelable: !0 - }); - if (e.preventDefault(), !0 !== e.defaultPrevented) throw new Error("Could not prevent default") - } catch (e) { - var t = function(e, t) { - var n, r; - return (t = t || {}).bubbles = !!t.bubbles, t.cancelable = !!t.cancelable, (n = document.createEvent("CustomEvent")).initCustomEvent(e, t.bubbles, t.cancelable, t.detail), r = n.preventDefault, n.preventDefault = function() { - r.call(this); - try { - Object.defineProperty(this, "defaultPrevented", { - get: function() { - return !0 - } - }) - } catch (e) { - this.defaultPrevented = !0 - } - }, n - }; - t.prototype = window.Event.prototype, window.CustomEvent = t - } - }() -}, function(e, t, n) { - window.fetch || (window.fetch = n(7).default || n(7)) -}, function(e, i, o) { - (function(e) { - var t = void 0 !== e && e || "undefined" != typeof self && self || window, - n = Function.prototype.apply; - - function r(e, t) { - this._id = e, this._clearFn = t - } - i.setTimeout = function() { - return new r(n.call(setTimeout, t, arguments), clearTimeout) - }, i.setInterval = function() { - return new r(n.call(setInterval, t, arguments), clearInterval) - }, i.clearTimeout = i.clearInterval = function(e) { - e && e.close() - }, r.prototype.unref = r.prototype.ref = function() {}, r.prototype.close = function() { - this._clearFn.call(t, this._id) - }, i.enroll = function(e, t) { - clearTimeout(e._idleTimeoutId), e._idleTimeout = t - }, i.unenroll = function(e) { - clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 - }, i._unrefActive = i.active = function(e) { - clearTimeout(e._idleTimeoutId); - var t = e._idleTimeout; - 0 <= t && (e._idleTimeoutId = setTimeout(function() { - e._onTimeout && e._onTimeout() - }, t)) - }, o(22), i.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== e && e.setImmediate || this && this.setImmediate, i.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== e && e.clearImmediate || this && this.clearImmediate - }).call(this, o(4)) -}, function(e, t, n) { - (function(e, p) { - ! function(n, r) { - "use strict"; - if (!n.setImmediate) { - var i, o, t, a, e, s = 1, - c = {}, - l = !1, - u = n.document, - f = Object.getPrototypeOf && Object.getPrototypeOf(n); - f = f && f.setTimeout ? f : n, i = "[object process]" === {}.toString.call(n.process) ? function(e) { - p.nextTick(function() { - h(e) - }) - } : function() { - if (n.postMessage && !n.importScripts) { - var e = !0, - t = n.onmessage; - return n.onmessage = function() { - e = !1 - }, n.postMessage("", "*"), n.onmessage = t, e - } - }() ? (a = "setImmediate$" + Math.random() + "$", e = function(e) { - e.source === n && "string" == typeof e.data && 0 === e.data.indexOf(a) && h(+e.data.slice(a.length)) - }, n.addEventListener ? n.addEventListener("message", e, !1) : n.attachEvent("onmessage", e), function(e) { - n.postMessage(a + e, "*") - }) : n.MessageChannel ? ((t = new MessageChannel).port1.onmessage = function(e) { - h(e.data) - }, function(e) { - t.port2.postMessage(e) - }) : u && "onreadystatechange" in u.createElement("script") ? (o = u.documentElement, function(e) { - var t = u.createElement("script"); - t.onreadystatechange = function() { - h(e), t.onreadystatechange = null, o.removeChild(t), t = null - }, o.appendChild(t) - }) : function(e) { - setTimeout(h, 0, e) - }, f.setImmediate = function(e) { - "function" != typeof e && (e = new Function("" + e)); - for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++) t[n] = arguments[n + 1]; - var r = { - callback: e, - args: t - }; - return c[s] = r, i(s), s++ - }, f.clearImmediate = d - } - - function d(e) { - delete c[e] - } - - function h(e) { - if (l) setTimeout(h, 0, e); - else { - var t = c[e]; - if (t) { - l = !0; - try { - ! function(e) { - var t = e.callback, - n = e.args; - switch (n.length) { - case 0: - t(); - break; - case 1: - t(n[0]); - break; - case 2: - t(n[0], n[1]); - break; - case 3: - t(n[0], n[1], n[2]); - break; - default: - t.apply(r, n) - } - }(t) - } finally { - d(e), l = !1 - } - } - } - } - }("undefined" == typeof self ? void 0 === e ? this : e : self) - }).call(this, n(4), n(23)) -}, function(e, t) { - var n, r, i = e.exports = {}; - - function o() { - throw new Error("setTimeout has not been defined") - } - - function a() { - throw new Error("clearTimeout has not been defined") - } - - function s(t) { - if (n === setTimeout) return setTimeout(t, 0); - if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0); - try { - return n(t, 0) - } catch (e) { - try { - return n.call(null, t, 0) - } catch (e) { - return n.call(this, t, 0) - } - } - }! function() { - try { - n = "function" == typeof setTimeout ? setTimeout : o - } catch (e) { - n = o - } - try { - r = "function" == typeof clearTimeout ? clearTimeout : a - } catch (e) { - r = a - } - }(); - var c, l = [], - u = !1, - f = -1; - - function d() { - u && c && (u = !1, c.length ? l = c.concat(l) : f = -1, l.length && h()) - } - - function h() { - if (!u) { - var e = s(d); - u = !0; - for (var t = l.length; t;) { - for (c = l, l = []; ++f < t;) c && c[f].run(); - f = -1, t = l.length - } - c = null, u = !1, - function(t) { - if (r === clearTimeout) return clearTimeout(t); - if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t); - try { - r(t) - } catch (e) { - try { - return r.call(null, t) - } catch (e) { - return r.call(this, t) - } - } - }(e) - } - } - - function p(e, t) { - this.fun = e, this.array = t - } - - function m() {} - i.nextTick = function(e) { - var t = new Array(arguments.length - 1); - if (1 < arguments.length) - for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; - l.push(new p(e, t)), 1 !== l.length || u || s(h) - }, p.prototype.run = function() { - this.fun.apply(null, this.array) - }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = m, i.addListener = m, i.once = m, i.off = m, i.removeListener = m, i.removeAllListeners = m, i.emit = m, i.prependListener = m, i.prependOnceListener = m, i.listeners = function(e) { - return [] - }, i.binding = function(e) { - throw new Error("process.binding is not supported") - }, i.cwd = function() { - return "/" - }, i.chdir = function(e) { - throw new Error("process.chdir is not supported") - }, i.umask = function() { - return 0 - } -}, function(i, o, a) { - var s, c; - /** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.6 - * Copyright (C) 2019 Oliver Nightingale - * @license MIT - */ - ! function() { - var t, l, u, e, n, f, d, h, p, m, y, v, g, w, _, E, x, b, k, S, T, L, R, O, C, r, D = function(e) { - var t = new D.Builder; - return t.pipeline.add(D.trimmer, D.stopWordFilter, D.stemmer), t.searchPipeline.add(D.stemmer), e.call(t, t), t.build() - }; - D.version = "2.3.6", D.utils = {}, D.utils.warn = (t = this, function(e) { - t.console && console.warn && console.warn(e) - }), D.utils.asString = function(e) { - return null == e ? "" : e.toString() - }, D.utils.clone = function(e) { - if (null == e) return e; - for (var t = Object.create(null), n = Object.keys(e), r = 0; r < n.length; r++) { - var i = n[r], - o = e[i]; - if (Array.isArray(o)) t[i] = o.slice(); - else { - if ("string" != typeof o && "number" != typeof o && "boolean" != typeof o) throw new TypeError("clone is not deep and does not support nested objects"); - t[i] = o - } - } - return t - }, D.FieldRef = function(e, t, n) { - this.docRef = e, this.fieldName = t, this._stringValue = n - }, D.FieldRef.joiner = "/", D.FieldRef.fromString = function(e) { - var t = e.indexOf(D.FieldRef.joiner); - if (-1 === t) throw "malformed field ref string"; - var n = e.slice(0, t), - r = e.slice(t + 1); - return new D.FieldRef(r, n, e) - }, D.FieldRef.prototype.toString = function() { - return null == this._stringValue && (this._stringValue = this.fieldName + D.FieldRef.joiner + this.docRef), this._stringValue - }, D.Set = function(e) { - if (this.elements = Object.create(null), e) { - this.length = e.length; - for (var t = 0; t < this.length; t++) this.elements[e[t]] = !0 - } else this.length = 0 - }, D.Set.complete = { - intersect: function(e) { - return e - }, - union: function(e) { - return e - }, - contains: function() { - return !0 - } - }, D.Set.empty = { - intersect: function() { - return this - }, - union: function(e) { - return e - }, - contains: function() { - return !1 - } - }, D.Set.prototype.contains = function(e) { - return !!this.elements[e] - }, D.Set.prototype.intersect = function(e) { - var t, n, r, i = []; - if (e === D.Set.complete) return this; - if (e === D.Set.empty) return e; - n = this.length < e.length ? (t = this, e) : (t = e, this), r = Object.keys(t.elements); - for (var o = 0; o < r.length; o++) { - var a = r[o]; - a in n.elements && i.push(a) - } - return new D.Set(i) - }, D.Set.prototype.union = function(e) { - return e === D.Set.complete ? D.Set.complete : e === D.Set.empty ? this : new D.Set(Object.keys(this.elements).concat(Object.keys(e.elements))) - }, D.idf = function(e, t) { - var n = 0; - for (var r in e) "_index" != r && (n += Object.keys(e[r]).length); - var i = (t - n + .5) / (n + .5); - return Math.log(1 + Math.abs(i)) - }, D.Token = function(e, t) { - this.str = e || "", this.metadata = t || {} - }, D.Token.prototype.toString = function() { - return this.str - }, D.Token.prototype.update = function(e) { - return this.str = e(this.str, this.metadata), this - }, D.Token.prototype.clone = function(e) { - return e = e || function(e) { - return e - }, new D.Token(e(this.str, this.metadata), this.metadata) - }, D.tokenizer = function(e, t) { - if (null == e || null == e) return []; - if (Array.isArray(e)) return e.map(function(e) { - return new D.Token(D.utils.asString(e).toLowerCase(), D.utils.clone(t)) - }); - for (var n = e.toString().trim().toLowerCase(), r = n.length, i = [], o = 0, a = 0; o <= r; o++) { - var s = o - a; - if (n.charAt(o).match(D.tokenizer.separator) || o == r) { - if (0 < s) { - var c = D.utils.clone(t) || {}; - c.position = [a, s], c.index = i.length, i.push(new D.Token(n.slice(a, o), c)) - } - a = o + 1 - } - } - return i - }, D.tokenizer.separator = /[\s\-]+/, D.Pipeline = function() { - this._stack = [] - }, D.Pipeline.registeredFunctions = Object.create(null), D.Pipeline.registerFunction = function(e, t) { - t in this.registeredFunctions && D.utils.warn("Overwriting existing registered function: " + t), e.label = t, D.Pipeline.registeredFunctions[e.label] = e - }, D.Pipeline.warnIfFunctionNotRegistered = function(e) { - e.label && e.label in this.registeredFunctions || D.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n", e) - }, D.Pipeline.load = function(e) { - var n = new D.Pipeline; - return e.forEach(function(e) { - var t = D.Pipeline.registeredFunctions[e]; - if (!t) throw new Error("Cannot load unregistered function: " + e); - n.add(t) - }), n - }, D.Pipeline.prototype.add = function() { - Array.prototype.slice.call(arguments).forEach(function(e) { - D.Pipeline.warnIfFunctionNotRegistered(e), this._stack.push(e) - }, this) - }, D.Pipeline.prototype.after = function(e, t) { - D.Pipeline.warnIfFunctionNotRegistered(t); - var n = this._stack.indexOf(e); - if (-1 == n) throw new Error("Cannot find existingFn"); - n += 1, this._stack.splice(n, 0, t) - }, D.Pipeline.prototype.before = function(e, t) { - D.Pipeline.warnIfFunctionNotRegistered(t); - var n = this._stack.indexOf(e); - if (-1 == n) throw new Error("Cannot find existingFn"); - this._stack.splice(n, 0, t) - }, D.Pipeline.prototype.remove = function(e) { - var t = this._stack.indexOf(e); - 1 != t && this._stack.splice(t, 1) - }, D.Pipeline.prototype.run = function(e) { - for (var t = this._stack.length, n = 0; n < t; n++) { - for (var r = this._stack[n], i = [], o = 0; o < e.length; o++) { - var a = r(e[o], o, e); - if (void 0 !== a && "" !== a) - if (Array.isArray(a)) - for (var s = 0; s < a.length; s++) i.push(a[s]); - else i.push(a) - } - e = i - } - return e - }, D.Pipeline.prototype.runString = function(e, t) { - var n = new D.Token(e, t); - return this.run([n]).map(function(e) { - return e.toString() - }) - }, D.Pipeline.prototype.reset = function() { - this._stack = [] - }, D.Pipeline.prototype.toJSON = function() { - return this._stack.map(function(e) { - return D.Pipeline.warnIfFunctionNotRegistered(e), e.label - }) - }, D.Vector = function(e) { - this._magnitude = 0, this.elements = e || [] - }, D.Vector.prototype.positionForIndex = function(e) { - if (0 == this.elements.length) return 0; - for (var t = 0, n = this.elements.length / 2, r = n - t, i = Math.floor(r / 2), o = this.elements[2 * i]; 1 < r && (o < e && (t = i), e < o && (n = i), o != e);) r = n - t, i = t + Math.floor(r / 2), o = this.elements[2 * i]; - return o == e ? 2 * i : e < o ? 2 * i : o < e ? 2 * (i + 1) : void 0 - }, D.Vector.prototype.insert = function(e, t) { - this.upsert(e, t, function() { - throw "duplicate index" - }) - }, D.Vector.prototype.upsert = function(e, t, n) { - this._magnitude = 0; - var r = this.positionForIndex(e); - this.elements[r] == e ? this.elements[r + 1] = n(this.elements[r + 1], t) : this.elements.splice(r, 0, e, t) - }, D.Vector.prototype.magnitude = function() { - if (this._magnitude) return this._magnitude; - for (var e = 0, t = this.elements.length, n = 1; n < t; n += 2) { - var r = this.elements[n]; - e += r * r - } - return this._magnitude = Math.sqrt(e) - }, D.Vector.prototype.dot = function(e) { - for (var t = 0, n = this.elements, r = e.elements, i = n.length, o = r.length, a = 0, s = 0, c = 0, l = 0; c < i && l < o;)(a = n[c]) < (s = r[l]) ? c += 2 : s < a ? l += 2 : a == s && (t += n[c + 1] * r[l + 1], c += 2, l += 2); - return t - }, D.Vector.prototype.similarity = function(e) { - return this.dot(e) / this.magnitude() || 0 - }, D.Vector.prototype.toArray = function() { - for (var e = new Array(this.elements.length / 2), t = 1, n = 0; t < this.elements.length; t += 2, n++) e[n] = this.elements[t]; - return e - }, D.Vector.prototype.toJSON = function() { - return this.elements - }, D.stemmer = (l = { - ational: "ate", - tional: "tion", - enci: "ence", - anci: "ance", - izer: "ize", - bli: "ble", - alli: "al", - entli: "ent", - eli: "e", - ousli: "ous", - ization: "ize", - ation: "ate", - ator: "ate", - alism: "al", - iveness: "ive", - fulness: "ful", - ousness: "ous", - aliti: "al", - iviti: "ive", - biliti: "ble", - logi: "log" - }, u = { - icate: "ic", - ative: "", - alize: "al", - iciti: "ic", - ical: "ic", - ful: "", - ness: "" - }, e = "[aeiouy]", n = "[^aeiou][^aeiouy]*", f = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"), d = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"), h = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"), p = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"), m = /^(.+?)(ss|i)es$/, y = /^(.+?)([^s])s$/, v = /^(.+?)eed$/, g = /^(.+?)(ed|ing)$/, w = /.$/, _ = /(at|bl|iz)$/, E = new RegExp("([^aeiouylsz])\\1$"), x = new RegExp("^" + n + e + "[^aeiouwxy]$"), b = /^(.+?[^aeiou])y$/, k = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/, S = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, T = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/, L = /^(.+?)(s|t)(ion)$/, R = /^(.+?)e$/, O = /ll$/, C = new RegExp("^" + n + e + "[^aeiouwxy]$"), r = function(e) { - var t, n, r, i, o, a, s; - if (e.length < 3) return e; - if ("y" == (r = e.substr(0, 1)) && (e = r.toUpperCase() + e.substr(1)), o = y, (i = m).test(e) ? e = e.replace(i, "$1$2") : o.test(e) && (e = e.replace(o, "$1$2")), o = g, (i = v).test(e)) { - var c = i.exec(e); - (i = f).test(c[1]) && (i = w, e = e.replace(i, "")) - } else if (o.test(e)) { - t = (c = o.exec(e))[1], (o = p).test(t) && (a = E, s = x, (o = _).test(e = t) ? e += "e" : a.test(e) ? (i = w, e = e.replace(i, "")) : s.test(e) && (e += "e")) - }(i = b).test(e) && (e = (t = (c = i.exec(e))[1]) + "i"); - (i = k).test(e) && (t = (c = i.exec(e))[1], n = c[2], (i = f).test(t) && (e = t + l[n])); - (i = S).test(e) && (t = (c = i.exec(e))[1], n = c[2], (i = f).test(t) && (e = t + u[n])); - if (o = L, (i = T).test(e)) t = (c = i.exec(e))[1], (i = d).test(t) && (e = t); - else if (o.test(e)) { - t = (c = o.exec(e))[1] + c[2], (o = d).test(t) && (e = t) - }(i = R).test(e) && (t = (c = i.exec(e))[1], o = h, a = C, ((i = d).test(t) || o.test(t) && !a.test(t)) && (e = t)); - return o = d, (i = O).test(e) && o.test(e) && (i = w, e = e.replace(i, "")), "y" == r && (e = r.toLowerCase() + e.substr(1)), e - }, function(e) { - return e.update(r) - }), D.Pipeline.registerFunction(D.stemmer, "stemmer"), D.generateStopWordFilter = function(e) { - var t = e.reduce(function(e, t) { - return e[t] = t, e - }, {}); - return function(e) { - if (e && t[e.toString()] !== e.toString()) return e - } - }, D.stopWordFilter = D.generateStopWordFilter(["a", "able", "about", "across", "after", "all", "almost", "also", "am", "among", "an", "and", "any", "are", "as", "at", "be", "because", "been", "but", "by", "can", "cannot", "could", "dear", "did", "do", "does", "either", "else", "ever", "every", "for", "from", "get", "got", "had", "has", "have", "he", "her", "hers", "him", "his", "how", "however", "i", "if", "in", "into", "is", "it", "its", "just", "least", "let", "like", "likely", "may", "me", "might", "most", "must", "my", "neither", "no", "nor", "not", "of", "off", "often", "on", "only", "or", "other", "our", "own", "rather", "said", "say", "says", "she", "should", "since", "so", "some", "than", "that", "the", "their", "them", "then", "there", "these", "they", "this", "tis", "to", "too", "twas", "us", "wants", "was", "we", "were", "what", "when", "where", "which", "while", "who", "whom", "why", "will", "with", "would", "yet", "you", "your"]), D.Pipeline.registerFunction(D.stopWordFilter, "stopWordFilter"), D.trimmer = function(e) { - return e.update(function(e) { - return e.replace(/^\W+/, "").replace(/\W+$/, "") - }) - }, D.Pipeline.registerFunction(D.trimmer, "trimmer"), D.TokenSet = function() { - this.final = !1, this.edges = {}, this.id = D.TokenSet._nextId, D.TokenSet._nextId += 1 - }, D.TokenSet._nextId = 1, D.TokenSet.fromArray = function(e) { - for (var t = new D.TokenSet.Builder, n = 0, r = e.length; n < r; n++) t.insert(e[n]); - return t.finish(), t.root - }, D.TokenSet.fromClause = function(e) { - return "editDistance" in e ? D.TokenSet.fromFuzzyString(e.term, e.editDistance) : D.TokenSet.fromString(e.term) - }, D.TokenSet.fromFuzzyString = function(e, t) { - for (var n = new D.TokenSet, r = [{ - node: n, - editsRemaining: t, - str: e - }]; r.length;) { - var i = r.pop(); - if (0 < i.str.length) { - var o, a = i.str.charAt(0); - a in i.node.edges ? o = i.node.edges[a] : (o = new D.TokenSet, i.node.edges[a] = o), 1 == i.str.length && (o.final = !0), r.push({ - node: o, - editsRemaining: i.editsRemaining, - str: i.str.slice(1) - }) - } - if (0 != i.editsRemaining) { - if ("*" in i.node.edges) var s = i.node.edges["*"]; - else { - s = new D.TokenSet; - i.node.edges["*"] = s - } - if (0 == i.str.length && (s.final = !0), r.push({ - node: s, - editsRemaining: i.editsRemaining - 1, - str: i.str - }), 1 < i.str.length && r.push({ - node: i.node, - editsRemaining: i.editsRemaining - 1, - str: i.str.slice(1) - }), 1 == i.str.length && (i.node.final = !0), 1 <= i.str.length) { - if ("*" in i.node.edges) var c = i.node.edges["*"]; - else { - c = new D.TokenSet; - i.node.edges["*"] = c - } - 1 == i.str.length && (c.final = !0), r.push({ - node: c, - editsRemaining: i.editsRemaining - 1, - str: i.str.slice(1) - }) - } - if (1 < i.str.length) { - var l, u = i.str.charAt(0), - f = i.str.charAt(1); - f in i.node.edges ? l = i.node.edges[f] : (l = new D.TokenSet, i.node.edges[f] = l), 1 == i.str.length && (l.final = !0), r.push({ - node: l, - editsRemaining: i.editsRemaining - 1, - str: u + i.str.slice(2) - }) - } - } - } - return n - }, D.TokenSet.fromString = function(e) { - for (var t = new D.TokenSet, n = t, r = 0, i = e.length; r < i; r++) { - var o = e[r], - a = r == i - 1; - if ("*" == o)(t.edges[o] = t).final = a; - else { - var s = new D.TokenSet; - s.final = a, t.edges[o] = s, t = s - } - } - return n - }, D.TokenSet.prototype.toArray = function() { - for (var e = [], t = [{ - prefix: "", - node: this - }]; t.length;) { - var n = t.pop(), - r = Object.keys(n.node.edges), - i = r.length; - n.node.final && (n.prefix.charAt(0), e.push(n.prefix)); - for (var o = 0; o < i; o++) { - var a = r[o]; - t.push({ - prefix: n.prefix.concat(a), - node: n.node.edges[a] - }) - } - } - return e - }, D.TokenSet.prototype.toString = function() { - if (this._str) return this._str; - for (var e = this.final ? "1" : "0", t = Object.keys(this.edges).sort(), n = t.length, r = 0; r < n; r++) { - var i = t[r]; - e = e + i + this.edges[i].id - } - return e - }, D.TokenSet.prototype.intersect = function(e) { - for (var t = new D.TokenSet, n = void 0, r = [{ - qNode: e, - output: t, - node: this - }]; r.length;) { - n = r.pop(); - for (var i = Object.keys(n.qNode.edges), o = i.length, a = Object.keys(n.node.edges), s = a.length, c = 0; c < o; c++) - for (var l = i[c], u = 0; u < s; u++) { - var f = a[u]; - if (f == l || "*" == l) { - var d = n.node.edges[f], - h = n.qNode.edges[l], - p = d.final && h.final, - m = void 0; - f in n.output.edges ? (m = n.output.edges[f]).final = m.final || p : ((m = new D.TokenSet).final = p, n.output.edges[f] = m), r.push({ - qNode: h, - output: m, - node: d - }) - } - } - } - return t - }, D.TokenSet.Builder = function() { - this.previousWord = "", this.root = new D.TokenSet, this.uncheckedNodes = [], this.minimizedNodes = {} - }, D.TokenSet.Builder.prototype.insert = function(e) { - var t, n = 0; - if (e < this.previousWord) throw new Error("Out of order word insertion"); - for (var r = 0; r < e.length && r < this.previousWord.length && e[r] == this.previousWord[r]; r++) n++; - this.minimize(n), t = 0 == this.uncheckedNodes.length ? this.root : this.uncheckedNodes[this.uncheckedNodes.length - 1].child; - for (r = n; r < e.length; r++) { - var i = new D.TokenSet, - o = e[r]; - t.edges[o] = i, this.uncheckedNodes.push({ - parent: t, - char: o, - child: i - }), t = i - } - t.final = !0, this.previousWord = e - }, D.TokenSet.Builder.prototype.finish = function() { - this.minimize(0) - }, D.TokenSet.Builder.prototype.minimize = function(e) { - for (var t = this.uncheckedNodes.length - 1; e <= t; t--) { - var n = this.uncheckedNodes[t], - r = n.child.toString(); - r in this.minimizedNodes ? n.parent.edges[n.char] = this.minimizedNodes[r] : (n.child._str = r, this.minimizedNodes[r] = n.child), this.uncheckedNodes.pop() - } - }, D.Index = function(e) { - this.invertedIndex = e.invertedIndex, this.fieldVectors = e.fieldVectors, this.tokenSet = e.tokenSet, this.fields = e.fields, this.pipeline = e.pipeline - }, D.Index.prototype.search = function(t) { - return this.query(function(e) { - new D.QueryParser(t, e).parse() - }) - }, D.Index.prototype.query = function(e) { - for (var t = new D.Query(this.fields), n = Object.create(null), r = Object.create(null), i = Object.create(null), o = Object.create(null), a = Object.create(null), s = 0; s < this.fields.length; s++) r[this.fields[s]] = new D.Vector; - e.call(t, t); - for (s = 0; s < t.clauses.length; s++) { - var c = t.clauses[s], - l = null, - u = D.Set.complete; - l = c.usePipeline ? this.pipeline.runString(c.term, { - fields: c.fields - }) : [c.term]; - for (var f = 0; f < l.length; f++) { - var d = l[f]; - c.term = d; - var h = D.TokenSet.fromClause(c), - p = this.tokenSet.intersect(h).toArray(); - if (0 === p.length && c.presence === D.Query.presence.REQUIRED) { - for (var m = 0; m < c.fields.length; m++) { - o[Q = c.fields[m]] = D.Set.empty - } - break - } - for (var y = 0; y < p.length; y++) { - var v = p[y], - g = this.invertedIndex[v], - w = g._index; - for (m = 0; m < c.fields.length; m++) { - var _ = g[Q = c.fields[m]], - E = Object.keys(_), - x = v + "/" + Q, - b = new D.Set(E); - if (c.presence == D.Query.presence.REQUIRED && (u = u.union(b), void 0 === o[Q] && (o[Q] = D.Set.complete)), c.presence != D.Query.presence.PROHIBITED) { - if (r[Q].upsert(w, c.boost, function(e, t) { - return e + t - }), !i[x]) { - for (var k = 0; k < E.length; k++) { - var S, T = E[k], - L = new D.FieldRef(T, Q), - R = _[T]; - void 0 === (S = n[L]) ? n[L] = new D.MatchData(v, Q, R) : S.add(v, Q, R) - } - i[x] = !0 - } - } else void 0 === a[Q] && (a[Q] = D.Set.empty), a[Q] = a[Q].union(b) - } - } - } - if (c.presence === D.Query.presence.REQUIRED) - for (m = 0; m < c.fields.length; m++) { - o[Q = c.fields[m]] = o[Q].intersect(u) - } - } - var O = D.Set.complete, - C = D.Set.empty; - for (s = 0; s < this.fields.length; s++) { - var Q; - o[Q = this.fields[s]] && (O = O.intersect(o[Q])), a[Q] && (C = C.union(a[Q])) - } - var P = Object.keys(n), - A = [], - I = Object.create(null); - if (t.isNegated()) { - P = Object.keys(this.fieldVectors); - for (s = 0; s < P.length; s++) { - L = P[s]; - var M = D.FieldRef.fromString(L); - n[L] = new D.MatchData - } - } - for (s = 0; s < P.length; s++) { - var N = (M = D.FieldRef.fromString(P[s])).docRef; - if (O.contains(N) && !C.contains(N)) { - var j, F = this.fieldVectors[M], - H = r[M.fieldName].similarity(F); - if (void 0 !== (j = I[N])) j.score += H, j.matchData.combine(n[M]); - else { - var q = { - ref: N, - score: H, - matchData: n[M] - }; - I[N] = q, A.push(q) - } - } - } - return A.sort(function(e, t) { - return t.score - e.score - }) - }, D.Index.prototype.toJSON = function() { - var e = Object.keys(this.invertedIndex).sort().map(function(e) { - return [e, this.invertedIndex[e]] - }, this), - t = Object.keys(this.fieldVectors).map(function(e) { - return [e, this.fieldVectors[e].toJSON()] - }, this); - return { - version: D.version, - fields: this.fields, - fieldVectors: t, - invertedIndex: e, - pipeline: this.pipeline.toJSON() - } - }, D.Index.load = function(e) { - var t = {}, - n = {}, - r = e.fieldVectors, - i = Object.create(null), - o = e.invertedIndex, - a = new D.TokenSet.Builder, - s = D.Pipeline.load(e.pipeline); - e.version != D.version && D.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + D.version + "' does not match serialized index '" + e.version + "'"); - for (var c = 0; c < r.length; c++) { - var l = (f = r[c])[0], - u = f[1]; - n[l] = new D.Vector(u) - } - for (c = 0; c < o.length; c++) { - var f, d = (f = o[c])[0], - h = f[1]; - a.insert(d), i[d] = h - } - return a.finish(), t.fields = e.fields, t.fieldVectors = n, t.invertedIndex = i, t.tokenSet = a.root, t.pipeline = s, new D.Index(t) - }, D.Builder = function() { - this._ref = "id", this._fields = Object.create(null), this._documents = Object.create(null), this.invertedIndex = Object.create(null), this.fieldTermFrequencies = {}, this.fieldLengths = {}, this.tokenizer = D.tokenizer, this.pipeline = new D.Pipeline, this.searchPipeline = new D.Pipeline, this.documentCount = 0, this._b = .75, this._k1 = 1.2, this.termIndex = 0, this.metadataWhitelist = [] - }, D.Builder.prototype.ref = function(e) { - this._ref = e - }, D.Builder.prototype.field = function(e, t) { - if (/\//.test(e)) throw new RangeError("Field '" + e + "' contains illegal character '/'"); - this._fields[e] = t || {} - }, D.Builder.prototype.b = function(e) { - this._b = e < 0 ? 0 : 1 < e ? 1 : e - }, D.Builder.prototype.k1 = function(e) { - this._k1 = e - }, D.Builder.prototype.add = function(e, t) { - var n = e[this._ref], - r = Object.keys(this._fields); - this._documents[n] = t || {}, this.documentCount += 1; - for (var i = 0; i < r.length; i++) { - var o = r[i], - a = this._fields[o].extractor, - s = a ? a(e) : e[o], - c = this.tokenizer(s, { - fields: [o] - }), - l = this.pipeline.run(c), - u = new D.FieldRef(n, o), - f = Object.create(null); - this.fieldTermFrequencies[u] = f, this.fieldLengths[u] = 0, this.fieldLengths[u] += l.length; - for (var d = 0; d < l.length; d++) { - var h = l[d]; - if (null == f[h] && (f[h] = 0), f[h] += 1, null == this.invertedIndex[h]) { - var p = Object.create(null); - p._index = this.termIndex, this.termIndex += 1; - for (var m = 0; m < r.length; m++) p[r[m]] = Object.create(null); - this.invertedIndex[h] = p - } - null == this.invertedIndex[h][o][n] && (this.invertedIndex[h][o][n] = Object.create(null)); - for (var y = 0; y < this.metadataWhitelist.length; y++) { - var v = this.metadataWhitelist[y], - g = h.metadata[v]; - null == this.invertedIndex[h][o][n][v] && (this.invertedIndex[h][o][n][v] = []), this.invertedIndex[h][o][n][v].push(g) - } - } - } - }, D.Builder.prototype.calculateAverageFieldLengths = function() { - for (var e = Object.keys(this.fieldLengths), t = e.length, n = {}, r = {}, i = 0; i < t; i++) { - var o = D.FieldRef.fromString(e[i]), - a = o.fieldName; - r[a] || (r[a] = 0), r[a] += 1, n[a] || (n[a] = 0), n[a] += this.fieldLengths[o] - } - var s = Object.keys(this._fields); - for (i = 0; i < s.length; i++) { - var c = s[i]; - n[c] = n[c] / r[c] - } - this.averageFieldLength = n - }, D.Builder.prototype.createFieldVectors = function() { - for (var e = {}, t = Object.keys(this.fieldTermFrequencies), n = t.length, r = Object.create(null), i = 0; i < n; i++) { - for (var o = D.FieldRef.fromString(t[i]), a = o.fieldName, s = this.fieldLengths[o], c = new D.Vector, l = this.fieldTermFrequencies[o], u = Object.keys(l), f = u.length, d = this._fields[a].boost || 1, h = this._documents[o.docRef].boost || 1, p = 0; p < f; p++) { - var m, y, v, g = u[p], - w = l[g], - _ = this.invertedIndex[g]._index; - void 0 === r[g] ? (m = D.idf(this.invertedIndex[g], this.documentCount), r[g] = m) : m = r[g], y = m * ((this._k1 + 1) * w) / (this._k1 * (1 - this._b + this._b * (s / this.averageFieldLength[a])) + w), y *= d, y *= h, v = Math.round(1e3 * y) / 1e3, c.insert(_, v) - } - e[o] = c - } - this.fieldVectors = e - }, D.Builder.prototype.createTokenSet = function() { - this.tokenSet = D.TokenSet.fromArray(Object.keys(this.invertedIndex).sort()) - }, D.Builder.prototype.build = function() { - return this.calculateAverageFieldLengths(), this.createFieldVectors(), this.createTokenSet(), new D.Index({ - invertedIndex: this.invertedIndex, - fieldVectors: this.fieldVectors, - tokenSet: this.tokenSet, - fields: Object.keys(this._fields), - pipeline: this.searchPipeline - }) - }, D.Builder.prototype.use = function(e) { - var t = Array.prototype.slice.call(arguments, 1); - t.unshift(this), e.apply(this, t) - }, D.MatchData = function(e, t, n) { - for (var r = Object.create(null), i = Object.keys(n || {}), o = 0; o < i.length; o++) { - var a = i[o]; - r[a] = n[a].slice() - } - this.metadata = Object.create(null), void 0 !== e && (this.metadata[e] = Object.create(null), this.metadata[e][t] = r) - }, D.MatchData.prototype.combine = function(e) { - for (var t = Object.keys(e.metadata), n = 0; n < t.length; n++) { - var r = t[n], - i = Object.keys(e.metadata[r]); - null == this.metadata[r] && (this.metadata[r] = Object.create(null)); - for (var o = 0; o < i.length; o++) { - var a = i[o], - s = Object.keys(e.metadata[r][a]); - null == this.metadata[r][a] && (this.metadata[r][a] = Object.create(null)); - for (var c = 0; c < s.length; c++) { - var l = s[c]; - null == this.metadata[r][a][l] ? this.metadata[r][a][l] = e.metadata[r][a][l] : this.metadata[r][a][l] = this.metadata[r][a][l].concat(e.metadata[r][a][l]) - } - } - } - }, D.MatchData.prototype.add = function(e, t, n) { - if (!(e in this.metadata)) return this.metadata[e] = Object.create(null), void(this.metadata[e][t] = n); - if (t in this.metadata[e]) - for (var r = Object.keys(n), i = 0; i < r.length; i++) { - var o = r[i]; - o in this.metadata[e][t] ? this.metadata[e][t][o] = this.metadata[e][t][o].concat(n[o]) : this.metadata[e][t][o] = n[o] - } else this.metadata[e][t] = n - }, D.Query = function(e) { - this.clauses = [], this.allFields = e - }, D.Query.wildcard = new String("*"), D.Query.wildcard.NONE = 0, D.Query.wildcard.LEADING = 1, D.Query.wildcard.TRAILING = 2, D.Query.presence = { - OPTIONAL: 1, - REQUIRED: 2, - PROHIBITED: 3 - }, D.Query.prototype.clause = function(e) { - return "fields" in e || (e.fields = this.allFields), "boost" in e || (e.boost = 1), "usePipeline" in e || (e.usePipeline = !0), "wildcard" in e || (e.wildcard = D.Query.wildcard.NONE), e.wildcard & D.Query.wildcard.LEADING && e.term.charAt(0) != D.Query.wildcard && (e.term = "*" + e.term), e.wildcard & D.Query.wildcard.TRAILING && e.term.slice(-1) != D.Query.wildcard && (e.term = e.term + "*"), "presence" in e || (e.presence = D.Query.presence.OPTIONAL), this.clauses.push(e), this - }, D.Query.prototype.isNegated = function() { - for (var e = 0; e < this.clauses.length; e++) - if (this.clauses[e].presence != D.Query.presence.PROHIBITED) return !1; - return !0 - }, D.Query.prototype.term = function(e, t) { - if (Array.isArray(e)) return e.forEach(function(e) { - this.term(e, D.utils.clone(t)) - }, this), this; - var n = t || {}; - return n.term = e.toString(), this.clause(n), this - }, D.QueryParseError = function(e, t, n) { - this.name = "QueryParseError", this.message = e, this.start = t, this.end = n - }, D.QueryParseError.prototype = new Error, D.QueryLexer = function(e) { - this.lexemes = [], this.str = e, this.length = e.length, this.pos = 0, this.start = 0, this.escapeCharPositions = [] - }, D.QueryLexer.prototype.run = function() { - for (var e = D.QueryLexer.lexText; e;) e = e(this) - }, D.QueryLexer.prototype.sliceString = function() { - for (var e = [], t = this.start, n = this.pos, r = 0; r < this.escapeCharPositions.length; r++) n = this.escapeCharPositions[r], e.push(this.str.slice(t, n)), t = n + 1; - return e.push(this.str.slice(t, this.pos)), this.escapeCharPositions.length = 0, e.join("") - }, D.QueryLexer.prototype.emit = function(e) { - this.lexemes.push({ - type: e, - str: this.sliceString(), - start: this.start, - end: this.pos - }), this.start = this.pos - }, D.QueryLexer.prototype.escapeCharacter = function() { - this.escapeCharPositions.push(this.pos - 1), this.pos += 1 - }, D.QueryLexer.prototype.next = function() { - if (this.pos >= this.length) return D.QueryLexer.EOS; - var e = this.str.charAt(this.pos); - return this.pos += 1, e - }, D.QueryLexer.prototype.width = function() { - return this.pos - this.start - }, D.QueryLexer.prototype.ignore = function() { - this.start == this.pos && (this.pos += 1), this.start = this.pos - }, D.QueryLexer.prototype.backup = function() { - this.pos -= 1 - }, D.QueryLexer.prototype.acceptDigitRun = function() { - for (var e, t; 47 < (t = (e = this.next()).charCodeAt(0)) && t < 58;); - e != D.QueryLexer.EOS && this.backup() - }, D.QueryLexer.prototype.more = function() { - return this.pos < this.length - }, D.QueryLexer.EOS = "EOS", D.QueryLexer.FIELD = "FIELD", D.QueryLexer.TERM = "TERM", D.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE", D.QueryLexer.BOOST = "BOOST", D.QueryLexer.PRESENCE = "PRESENCE", D.QueryLexer.lexField = function(e) { - return e.backup(), e.emit(D.QueryLexer.FIELD), e.ignore(), D.QueryLexer.lexText - }, D.QueryLexer.lexTerm = function(e) { - if (1 < e.width() && (e.backup(), e.emit(D.QueryLexer.TERM)), e.ignore(), e.more()) return D.QueryLexer.lexText - }, D.QueryLexer.lexEditDistance = function(e) { - return e.ignore(), e.acceptDigitRun(), e.emit(D.QueryLexer.EDIT_DISTANCE), D.QueryLexer.lexText - }, D.QueryLexer.lexBoost = function(e) { - return e.ignore(), e.acceptDigitRun(), e.emit(D.QueryLexer.BOOST), D.QueryLexer.lexText - }, D.QueryLexer.lexEOS = function(e) { - 0 < e.width() && e.emit(D.QueryLexer.TERM) - }, D.QueryLexer.termSeparator = D.tokenizer.separator, D.QueryLexer.lexText = function(e) { - for (;;) { - var t = e.next(); - if (t == D.QueryLexer.EOS) return D.QueryLexer.lexEOS; - if (92 != t.charCodeAt(0)) { - if (":" == t) return D.QueryLexer.lexField; - if ("~" == t) return e.backup(), 0 < e.width() && e.emit(D.QueryLexer.TERM), D.QueryLexer.lexEditDistance; - if ("^" == t) return e.backup(), 0 < e.width() && e.emit(D.QueryLexer.TERM), D.QueryLexer.lexBoost; - if ("+" == t && 1 === e.width()) return e.emit(D.QueryLexer.PRESENCE), D.QueryLexer.lexText; - if ("-" == t && 1 === e.width()) return e.emit(D.QueryLexer.PRESENCE), D.QueryLexer.lexText; - if (t.match(D.QueryLexer.termSeparator)) return D.QueryLexer.lexTerm - } else e.escapeCharacter() - } - }, D.QueryParser = function(e, t) { - this.lexer = new D.QueryLexer(e), this.query = t, this.currentClause = {}, this.lexemeIdx = 0 - }, D.QueryParser.prototype.parse = function() { - this.lexer.run(), this.lexemes = this.lexer.lexemes; - for (var e = D.QueryParser.parseClause; e;) e = e(this); - return this.query - }, D.QueryParser.prototype.peekLexeme = function() { - return this.lexemes[this.lexemeIdx] - }, D.QueryParser.prototype.consumeLexeme = function() { - var e = this.peekLexeme(); - return this.lexemeIdx += 1, e - }, D.QueryParser.prototype.nextClause = function() { - var e = this.currentClause; - this.query.clause(e), this.currentClause = {} - }, D.QueryParser.parseClause = function(e) { - var t = e.peekLexeme(); - if (null != t) switch (t.type) { - case D.QueryLexer.PRESENCE: - return D.QueryParser.parsePresence; - case D.QueryLexer.FIELD: - return D.QueryParser.parseField; - case D.QueryLexer.TERM: - return D.QueryParser.parseTerm; - default: - var n = "expected either a field or a term, found " + t.type; - throw 1 <= t.str.length && (n += " with value '" + t.str + "'"), new D.QueryParseError(n, t.start, t.end) - } - }, D.QueryParser.parsePresence = function(e) { - var t = e.consumeLexeme(); - if (null != t) { - switch (t.str) { - case "-": - e.currentClause.presence = D.Query.presence.PROHIBITED; - break; - case "+": - e.currentClause.presence = D.Query.presence.REQUIRED; - break; - default: - var n = "unrecognised presence operator'" + t.str + "'"; - throw new D.QueryParseError(n, t.start, t.end) - } - var r = e.peekLexeme(); - if (null == r) { - n = "expecting term or field, found nothing"; - throw new D.QueryParseError(n, t.start, t.end) - } - switch (r.type) { - case D.QueryLexer.FIELD: - return D.QueryParser.parseField; - case D.QueryLexer.TERM: - return D.QueryParser.parseTerm; - default: - n = "expecting term or field, found '" + r.type + "'"; - throw new D.QueryParseError(n, r.start, r.end) - } - } - }, D.QueryParser.parseField = function(e) { - var t = e.consumeLexeme(); - if (null != t) { - if (-1 == e.query.allFields.indexOf(t.str)) { - var n = e.query.allFields.map(function(e) { - return "'" + e + "'" - }).join(", "), - r = "unrecognised field '" + t.str + "', possible fields: " + n; - throw new D.QueryParseError(r, t.start, t.end) - } - e.currentClause.fields = [t.str]; - var i = e.peekLexeme(); - if (null == i) { - r = "expecting term, found nothing"; - throw new D.QueryParseError(r, t.start, t.end) - } - switch (i.type) { - case D.QueryLexer.TERM: - return D.QueryParser.parseTerm; - default: - r = "expecting term, found '" + i.type + "'"; - throw new D.QueryParseError(r, i.start, i.end) - } - } - }, D.QueryParser.parseTerm = function(e) { - var t = e.consumeLexeme(); - if (null != t) { - e.currentClause.term = t.str.toLowerCase(), -1 != t.str.indexOf("*") && (e.currentClause.usePipeline = !1); - var n = e.peekLexeme(); - if (null != n) switch (n.type) { - case D.QueryLexer.TERM: - return e.nextClause(), D.QueryParser.parseTerm; - case D.QueryLexer.FIELD: - return e.nextClause(), D.QueryParser.parseField; - case D.QueryLexer.EDIT_DISTANCE: - return D.QueryParser.parseEditDistance; - case D.QueryLexer.BOOST: - return D.QueryParser.parseBoost; - case D.QueryLexer.PRESENCE: - return e.nextClause(), D.QueryParser.parsePresence; - default: - var r = "Unexpected lexeme type '" + n.type + "'"; - throw new D.QueryParseError(r, n.start, n.end) - } else e.nextClause() - } - }, D.QueryParser.parseEditDistance = function(e) { - var t = e.consumeLexeme(); - if (null != t) { - var n = parseInt(t.str, 10); - if (isNaN(n)) { - var r = "edit distance must be numeric"; - throw new D.QueryParseError(r, t.start, t.end) - } - e.currentClause.editDistance = n; - var i = e.peekLexeme(); - if (null != i) switch (i.type) { - case D.QueryLexer.TERM: - return e.nextClause(), D.QueryParser.parseTerm; - case D.QueryLexer.FIELD: - return e.nextClause(), D.QueryParser.parseField; - case D.QueryLexer.EDIT_DISTANCE: - return D.QueryParser.parseEditDistance; - case D.QueryLexer.BOOST: - return D.QueryParser.parseBoost; - case D.QueryLexer.PRESENCE: - return e.nextClause(), D.QueryParser.parsePresence; - default: - r = "Unexpected lexeme type '" + i.type + "'"; - throw new D.QueryParseError(r, i.start, i.end) - } else e.nextClause() - } - }, D.QueryParser.parseBoost = function(e) { - var t = e.consumeLexeme(); - if (null != t) { - var n = parseInt(t.str, 10); - if (isNaN(n)) { - var r = "boost must be numeric"; - throw new D.QueryParseError(r, t.start, t.end) - } - e.currentClause.boost = n; - var i = e.peekLexeme(); - if (null != i) switch (i.type) { - case D.QueryLexer.TERM: - return e.nextClause(), D.QueryParser.parseTerm; - case D.QueryLexer.FIELD: - return e.nextClause(), D.QueryParser.parseField; - case D.QueryLexer.EDIT_DISTANCE: - return D.QueryParser.parseEditDistance; - case D.QueryLexer.BOOST: - return D.QueryParser.parseBoost; - case D.QueryLexer.PRESENCE: - return e.nextClause(), D.QueryParser.parsePresence; - default: - r = "Unexpected lexeme type '" + i.type + "'"; - throw new D.QueryParseError(r, i.start, i.end) - } else e.nextClause() - } - }, void 0 === (c = "function" == typeof(s = function() { - return D - }) ? s.call(o, a, o, i) : s) || (i.exports = c) - }() -}])); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.da.js b/docs/_build/html/_static/javascripts/lunr/lunr.da.js deleted file mode 100644 index 34910dfe..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.da.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,m,i;e.da=function(){this.pipeline.reset(),this.pipeline.add(e.da.trimmer,e.da.stopWordFilter,e.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.da.stemmer))},e.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.da.trimmer=e.trimmerSupport.generateTrimmer(e.da.wordCharacters),e.Pipeline.registerFunction(e.da.trimmer,"trimmer-da"),e.da.stemmer=(r=e.stemmerSupport.Among,m=e.stemmerSupport.SnowballProgram,i=new function(){var i,t,n,s=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],o=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],a=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],u=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],c=new m;function l(){var e,r=c.limit-c.cursor;c.cursor>=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.find_among_b(o,4)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e)}this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r=c.cursor;return function(){var e,r=c.cursor+3;if(t=c.limit,0<=r&&r<=c.limit){for(i=r;;){if(e=c.cursor,c.in_grouping(d,97,248)){c.cursor=e;break}if((c.cursor=e)>=c.limit)return;c.cursor++}for(;!c.out_grouping(d,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(t=c.cursor)=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(s,32),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:c.in_grouping_b(u,97,229)&&c.slice_del()}}(),c.cursor=c.limit,l(),c.cursor=c.limit,function(){var e,r,i,n=c.limit-c.cursor;if(c.ket=c.cursor,c.eq_s_b(2,"st")&&(c.bra=c.cursor,c.eq_s_b(2,"ig")&&c.slice_del()),c.cursor=c.limit-n,c.cursor>=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(a,5),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del(),i=c.limit-c.cursor,l(),c.cursor=c.limit-i;break;case 2:c.slice_from("løs")}}(),c.cursor=c.limit,c.cursor>=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.out_grouping_b(d,97,248)?(c.bra=c.cursor,n=c.slice_to(n),c.limit_backward=e,c.eq_v_b(n)&&c.slice_del()):c.limit_backward=e),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.de.js b/docs/_build/html/_static/javascripts/lunr/lunr.de.js deleted file mode 100644 index 1529892c..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.de.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var _,p,r;e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=(_=e.stemmerSupport.Among,p=e.stemmerSupport.SnowballProgram,r=new function(){var r,n,i,s=[new _("",-1,6),new _("U",0,2),new _("Y",0,1),new _("ä",0,3),new _("ö",0,4),new _("ü",0,5)],o=[new _("e",-1,2),new _("em",-1,1),new _("en",-1,2),new _("ern",-1,1),new _("er",-1,1),new _("s",-1,3),new _("es",5,2)],c=[new _("en",-1,1),new _("er",-1,1),new _("st",-1,2),new _("est",2,1)],u=[new _("ig",-1,1),new _("lich",-1,1)],a=[new _("end",-1,1),new _("ig",-1,2),new _("ung",-1,1),new _("lich",-1,3),new _("isch",-1,2),new _("ik",-1,2),new _("heit",-1,3),new _("keit",-1,4)],t=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],d=[117,30,5],l=[117,30,4],m=new p;function h(e,r,n){return!(!m.eq_s(1,e)||(m.ket=m.cursor,!m.in_grouping(t,97,252)))&&(m.slice_from(r),m.cursor=n,!0)}function w(){for(;!m.in_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}for(;!m.out_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}return!1}function f(){return i<=m.cursor}function b(){return n<=m.cursor}this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e=m.cursor;return function(){for(var e,r,n,i,s=m.cursor;;)if(e=m.cursor,m.bra=e,m.eq_s(1,"ß"))m.ket=m.cursor,m.slice_from("ss");else{if(e>=m.limit)break;m.cursor=e+1}for(m.cursor=s;;)for(r=m.cursor;;){if(n=m.cursor,m.in_grouping(t,97,252)){if(i=m.cursor,m.bra=i,h("u","U",n))break;if(m.cursor=i,h("y","Y",n))break}if(n>=m.limit)return m.cursor=r;m.cursor=n+1}}(),m.cursor=e,function(){i=m.limit,n=i;var e=m.cursor+3;0<=e&&e<=m.limit&&(r=e,w()||((i=m.cursor)=m.limit)return;m.cursor++}}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.du.js b/docs/_build/html/_static/javascripts/lunr/lunr.du.js deleted file mode 100644 index 52632004..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.du.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,q,r;console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=(v=e.stemmerSupport.Among,q=e.stemmerSupport.SnowballProgram,r=new function(){var r,i,u,o=[new v("",-1,6),new v("á",0,1),new v("ä",0,1),new v("é",0,2),new v("ë",0,2),new v("í",0,3),new v("ï",0,3),new v("ó",0,4),new v("ö",0,4),new v("ú",0,5),new v("ü",0,5)],n=[new v("",-1,3),new v("I",0,2),new v("Y",0,1)],t=[new v("dd",-1,-1),new v("kk",-1,-1),new v("tt",-1,-1)],c=[new v("ene",-1,2),new v("se",-1,3),new v("en",-1,2),new v("heden",2,1),new v("s",-1,3)],a=[new v("end",-1,1),new v("ig",-1,2),new v("ing",-1,1),new v("lijk",-1,3),new v("baar",-1,4),new v("bar",-1,5)],l=[new v("aa",-1,-1),new v("ee",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],d=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],f=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],_=new q;function s(e){return(_.cursor=e)>=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return r<=_.cursor}function g(){var e=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-e,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var e;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.slice_del(),u=!0,g())))}function k(){var e;b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.eq_s_b(3,"gem")||(_.cursor=_.limit-e,_.slice_del(),g())))}this.setCurrent=function(e){_.setCurrent(e)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var e=_.cursor;return function(){for(var e,r,i,n=_.cursor;;){if(_.bra=_.cursor,e=_.find_among(o,11))switch(_.ket=_.cursor,e){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(r=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=r);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=r;else if(s(r))break}else if(s(r))break}(),_.cursor=e,i=_.limit,r=i,w()||((i=_.cursor)<3&&(i=3),w()||(r=_.cursor)),_.limit_backward=e,_.cursor=_.limit,function(){var e,r,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,e=_.find_among_b(c,5))switch(_.bra=_.cursor,e){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(r=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-r,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,e=_.find_among_b(a,6))switch(_.bra=_.cursor,e){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var e;;)if(_.bra=_.cursor,e=_.find_among(n,3))switch(_.ket=_.cursor,e){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.es.js b/docs/_build/html/_static/javascripts/lunr/lunr.es.js deleted file mode 100644 index 9de6c09c..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.es.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var C,P,s;e.es=function(){this.pipeline.reset(),this.pipeline.add(e.es.trimmer,e.es.stopWordFilter,e.es.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.es.stemmer))},e.es.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.es.trimmer=e.trimmerSupport.generateTrimmer(e.es.wordCharacters),e.Pipeline.registerFunction(e.es.trimmer,"trimmer-es"),e.es.stemmer=(C=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,s=new function(){var r,n,i,a=[new C("",-1,6),new C("á",0,1),new C("é",0,2),new C("í",0,3),new C("ó",0,4),new C("ú",0,5)],t=[new C("la",-1,-1),new C("sela",0,-1),new C("le",-1,-1),new C("me",-1,-1),new C("se",-1,-1),new C("lo",-1,-1),new C("selo",5,-1),new C("las",-1,-1),new C("selas",7,-1),new C("les",-1,-1),new C("los",-1,-1),new C("selos",10,-1),new C("nos",-1,-1)],o=[new C("ando",-1,6),new C("iendo",-1,6),new C("yendo",-1,7),new C("ándo",-1,2),new C("iéndo",-1,1),new C("ar",-1,6),new C("er",-1,6),new C("ir",-1,6),new C("ár",-1,3),new C("ér",-1,4),new C("ír",-1,5)],s=[new C("ic",-1,-1),new C("ad",-1,-1),new C("os",-1,-1),new C("iv",-1,1)],u=[new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,1)],w=[new C("ic",-1,1),new C("abil",-1,1),new C("iv",-1,1)],c=[new C("ica",-1,1),new C("ancia",-1,2),new C("encia",-1,5),new C("adora",-1,2),new C("osa",-1,1),new C("ista",-1,1),new C("iva",-1,9),new C("anza",-1,1),new C("logía",-1,3),new C("idad",-1,8),new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,2),new C("mente",-1,7),new C("amente",13,6),new C("ación",-1,2),new C("ución",-1,4),new C("ico",-1,1),new C("ismo",-1,1),new C("oso",-1,1),new C("amiento",-1,1),new C("imiento",-1,1),new C("ivo",-1,9),new C("ador",-1,2),new C("icas",-1,1),new C("ancias",-1,2),new C("encias",-1,5),new C("adoras",-1,2),new C("osas",-1,1),new C("istas",-1,1),new C("ivas",-1,9),new C("anzas",-1,1),new C("logías",-1,3),new C("idades",-1,8),new C("ables",-1,1),new C("ibles",-1,1),new C("aciones",-1,2),new C("uciones",-1,4),new C("adores",-1,2),new C("antes",-1,2),new C("icos",-1,1),new C("ismos",-1,1),new C("osos",-1,1),new C("amientos",-1,1),new C("imientos",-1,1),new C("ivos",-1,9)],m=[new C("ya",-1,1),new C("ye",-1,1),new C("yan",-1,1),new C("yen",-1,1),new C("yeron",-1,1),new C("yendo",-1,1),new C("yo",-1,1),new C("yas",-1,1),new C("yes",-1,1),new C("yais",-1,1),new C("yamos",-1,1),new C("yó",-1,1)],l=[new C("aba",-1,2),new C("ada",-1,2),new C("ida",-1,2),new C("ara",-1,2),new C("iera",-1,2),new C("ía",-1,2),new C("aría",5,2),new C("ería",5,2),new C("iría",5,2),new C("ad",-1,2),new C("ed",-1,2),new C("id",-1,2),new C("ase",-1,2),new C("iese",-1,2),new C("aste",-1,2),new C("iste",-1,2),new C("an",-1,2),new C("aban",16,2),new C("aran",16,2),new C("ieran",16,2),new C("ían",16,2),new C("arían",20,2),new C("erían",20,2),new C("irían",20,2),new C("en",-1,1),new C("asen",24,2),new C("iesen",24,2),new C("aron",-1,2),new C("ieron",-1,2),new C("arán",-1,2),new C("erán",-1,2),new C("irán",-1,2),new C("ado",-1,2),new C("ido",-1,2),new C("ando",-1,2),new C("iendo",-1,2),new C("ar",-1,2),new C("er",-1,2),new C("ir",-1,2),new C("as",-1,2),new C("abas",39,2),new C("adas",39,2),new C("idas",39,2),new C("aras",39,2),new C("ieras",39,2),new C("ías",39,2),new C("arías",45,2),new C("erías",45,2),new C("irías",45,2),new C("es",-1,1),new C("ases",49,2),new C("ieses",49,2),new C("abais",-1,2),new C("arais",-1,2),new C("ierais",-1,2),new C("íais",-1,2),new C("aríais",55,2),new C("eríais",55,2),new C("iríais",55,2),new C("aseis",-1,2),new C("ieseis",-1,2),new C("asteis",-1,2),new C("isteis",-1,2),new C("áis",-1,2),new C("éis",-1,1),new C("aréis",64,2),new C("eréis",64,2),new C("iréis",64,2),new C("ados",-1,2),new C("idos",-1,2),new C("amos",-1,2),new C("ábamos",70,2),new C("áramos",70,2),new C("iéramos",70,2),new C("íamos",70,2),new C("aríamos",74,2),new C("eríamos",74,2),new C("iríamos",74,2),new C("emos",-1,1),new C("aremos",78,2),new C("eremos",78,2),new C("iremos",78,2),new C("ásemos",78,2),new C("iésemos",78,2),new C("imos",-1,2),new C("arás",-1,2),new C("erás",-1,2),new C("irás",-1,2),new C("ís",-1,2),new C("ará",-1,2),new C("erá",-1,2),new C("irá",-1,2),new C("aré",-1,2),new C("eré",-1,2),new C("iré",-1,2),new C("ió",-1,2)],d=[new C("a",-1,1),new C("e",-1,2),new C("o",-1,1),new C("os",-1,1),new C("á",-1,1),new C("é",-1,2),new C("í",-1,1),new C("ó",-1,1)],b=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],f=new P;function _(){if(f.out_grouping(b,97,252)){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}return!1}return!0}function h(){var e,s=f.cursor;if(function(){if(f.in_grouping(b,97,252)){var e=f.cursor;if(_()){if(f.cursor=e,!f.in_grouping(b,97,252))return!0;for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}}return!1}return!0}()){if(f.cursor=s,!f.out_grouping(b,97,252))return;if(e=f.cursor,_()){if(f.cursor=e,!f.in_grouping(b,97,252)||f.cursor>=f.limit)return;f.cursor++}}i=f.cursor}function v(){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}return!0}function p(){return i<=f.cursor}function g(){return r<=f.cursor}function k(e,s){if(!g())return!0;f.slice_del(),f.ket=f.cursor;var r=f.find_among_b(e,s);return r&&(f.bra=f.cursor,1==r&&g()&&f.slice_del()),!1}function y(e){return!g()||(f.slice_del(),f.ket=f.cursor,f.eq_s_b(2,e)&&(f.bra=f.cursor,g()&&f.slice_del()),!1)}function q(){var e;if(f.ket=f.cursor,e=f.find_among_b(c,46)){switch(f.bra=f.cursor,e){case 1:if(!g())return!1;f.slice_del();break;case 2:if(y("ic"))return!1;break;case 3:if(!g())return!1;f.slice_from("log");break;case 4:if(!g())return!1;f.slice_from("u");break;case 5:if(!g())return!1;f.slice_from("ente");break;case 6:if(!(n<=f.cursor))return!1;f.slice_del(),f.ket=f.cursor,(e=f.find_among_b(s,4))&&(f.bra=f.cursor,g()&&(f.slice_del(),1==e&&(f.ket=f.cursor,f.eq_s_b(2,"at")&&(f.bra=f.cursor,g()&&f.slice_del()))));break;case 7:if(k(u,3))return!1;break;case 8:if(k(w,3))return!1;break;case 9:if(y("at"))return!1}return!0}return!1}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e,s=f.cursor;return e=f.cursor,i=f.limit,r=n=i,h(),f.cursor=e,v()&&(n=f.cursor,v()&&(r=f.cursor)),f.limit_backward=s,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,f.find_among_b(t,13)&&(f.bra=f.cursor,(e=f.find_among_b(o,11))&&p()))switch(e){case 1:f.bra=f.cursor,f.slice_from("iendo");break;case 2:f.bra=f.cursor,f.slice_from("ando");break;case 3:f.bra=f.cursor,f.slice_from("ar");break;case 4:f.bra=f.cursor,f.slice_from("er");break;case 5:f.bra=f.cursor,f.slice_from("ir");break;case 6:f.slice_del();break;case 7:f.eq_s_b(1,"u")&&f.slice_del()}}(),f.cursor=f.limit,q()||(f.cursor=f.limit,function(){var e,s;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(m,12),f.limit_backward=s,e)){if(f.bra=f.cursor,1==e){if(!f.eq_s_b(1,"u"))return!1;f.slice_del()}return!0}return!1}()||(f.cursor=f.limit,function(){var e,s,r,n;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(l,96),f.limit_backward=s,e))switch(f.bra=f.cursor,e){case 1:r=f.limit-f.cursor,f.eq_s_b(1,"u")?(n=f.limit-f.cursor,f.eq_s_b(1,"g")?f.cursor=f.limit-n:f.cursor=f.limit-r):f.cursor=f.limit-r,f.bra=f.cursor;case 2:f.slice_del()}}())),f.cursor=f.limit,function(){var e,s;if(f.ket=f.cursor,e=f.find_among_b(d,8))switch(f.bra=f.cursor,e){case 1:p()&&f.slice_del();break;case 2:p()&&(f.slice_del(),f.ket=f.cursor,f.eq_s_b(1,"u")&&(f.bra=f.cursor,s=f.limit-f.cursor,f.eq_s_b(1,"g")&&(f.cursor=f.limit-s,p()&&f.slice_del())))}}(),f.cursor=f.limit_backward,function(){for(var e;;){if(f.bra=f.cursor,e=f.find_among(a,6))switch(f.ket=f.cursor,e){case 1:f.slice_from("a");continue;case 2:f.slice_from("e");continue;case 3:f.slice_from("i");continue;case 4:f.slice_from("o");continue;case 5:f.slice_from("u");continue;case 6:if(f.cursor>=f.limit)break;f.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.fi.js b/docs/_build/html/_static/javascripts/lunr/lunr.fi.js deleted file mode 100644 index 2f9bf5ae..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.fi.js +++ /dev/null @@ -1 +0,0 @@ -!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,C,e;i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=(v=i.stemmerSupport.Among,C=i.stemmerSupport.SnowballProgram,e=new function(){var n,t,l,o,r=[new v("pa",-1,1),new v("sti",-1,2),new v("kaan",-1,1),new v("han",-1,1),new v("kin",-1,1),new v("hän",-1,1),new v("kään",-1,1),new v("ko",-1,1),new v("pä",-1,1),new v("kö",-1,1)],s=[new v("lla",-1,-1),new v("na",-1,-1),new v("ssa",-1,-1),new v("ta",-1,-1),new v("lta",3,-1),new v("sta",3,-1)],a=[new v("llä",-1,-1),new v("nä",-1,-1),new v("ssä",-1,-1),new v("tä",-1,-1),new v("ltä",3,-1),new v("stä",3,-1)],u=[new v("lle",-1,-1),new v("ine",-1,-1)],c=[new v("nsa",-1,3),new v("mme",-1,3),new v("nne",-1,3),new v("ni",-1,2),new v("si",-1,1),new v("an",-1,4),new v("en",-1,6),new v("än",-1,5),new v("nsä",-1,3)],i=[new v("aa",-1,-1),new v("ee",-1,-1),new v("ii",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1),new v("ää",-1,-1),new v("öö",-1,-1)],m=[new v("a",-1,8),new v("lla",0,-1),new v("na",0,-1),new v("ssa",0,-1),new v("ta",0,-1),new v("lta",4,-1),new v("sta",4,-1),new v("tta",4,9),new v("lle",-1,-1),new v("ine",-1,-1),new v("ksi",-1,-1),new v("n",-1,7),new v("han",11,1),new v("den",11,-1,q),new v("seen",11,-1,j),new v("hen",11,2),new v("tten",11,-1,q),new v("hin",11,3),new v("siin",11,-1,q),new v("hon",11,4),new v("hän",11,5),new v("hön",11,6),new v("ä",-1,8),new v("llä",22,-1),new v("nä",22,-1),new v("ssä",22,-1),new v("tä",22,-1),new v("ltä",26,-1),new v("stä",26,-1),new v("ttä",26,9)],w=[new v("eja",-1,-1),new v("mma",-1,1),new v("imma",1,-1),new v("mpa",-1,1),new v("impa",3,-1),new v("mmi",-1,1),new v("immi",5,-1),new v("mpi",-1,1),new v("impi",7,-1),new v("ejä",-1,-1),new v("mmä",-1,1),new v("immä",10,-1),new v("mpä",-1,1),new v("impä",12,-1)],_=[new v("i",-1,-1),new v("j",-1,-1)],k=[new v("mma",-1,1),new v("imma",0,-1)],b=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],e=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],f=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],h=new C;function p(){for(var i;i=h.cursor,!h.in_grouping(d,97,246);){if((h.cursor=i)>=h.limit)return!0;h.cursor++}for(h.cursor=i;!h.out_grouping(d,97,246);){if(h.cursor>=h.limit)return!0;h.cursor++}return!1}function g(){var i,e;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(r,10)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.in_grouping_b(f,97,246))return;break;case 2:if(!(l<=h.cursor))return}h.slice_del()}else h.limit_backward=e}function j(){return h.find_among_b(i,7)}function q(){return h.eq_s_b(1,"i")&&h.in_grouping_b(e,97,246)}this.setCurrent=function(i){h.setCurrent(i)},this.getCurrent=function(){return h.getCurrent()},this.stem=function(){var i,e=h.cursor;return o=h.limit,l=o,p()||(o=h.cursor,p()||(l=h.cursor)),n=!1,h.limit_backward=e,h.cursor=h.limit,g(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(c,9))switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:r=h.limit-h.cursor,h.eq_s_b(1,"k")||(h.cursor=h.limit-r,h.slice_del());break;case 2:h.slice_del(),h.ket=h.cursor,h.eq_s_b(3,"kse")&&(h.bra=h.cursor,h.slice_from("ksi"));break;case 3:h.slice_del();break;case 4:h.find_among_b(s,6)&&h.slice_del();break;case 5:h.find_among_b(a,6)&&h.slice_del();break;case 6:h.find_among_b(u,2)&&h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(m,30)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.eq_s_b(1,"a"))return;break;case 2:case 9:if(!h.eq_s_b(1,"e"))return;break;case 3:if(!h.eq_s_b(1,"i"))return;break;case 4:if(!h.eq_s_b(1,"o"))return;break;case 5:if(!h.eq_s_b(1,"ä"))return;break;case 6:if(!h.eq_s_b(1,"ö"))return;break;case 7:if(r=h.limit-h.cursor,!j()&&(h.cursor=h.limit-r,!h.eq_s_b(2,"ie"))){h.cursor=h.limit-r;break}if(h.cursor=h.limit-r,h.cursor<=h.limit_backward){h.cursor=h.limit-r;break}h.cursor--,h.bra=h.cursor;break;case 8:if(!h.in_grouping_b(d,97,246)||!h.out_grouping_b(d,97,246))return}h.slice_del(),n=!0}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=l)if(e=h.limit_backward,h.limit_backward=l,h.ket=h.cursor,i=h.find_among_b(w,14)){if(h.bra=h.cursor,h.limit_backward=e,1==i){if(r=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-r}h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,h.cursor=(n?h.cursor>=o&&(i=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.find_among_b(_,2)?(h.bra=h.cursor,h.limit_backward=i,h.slice_del()):h.limit_backward=i):(h.cursor=h.limit,function(){var i,e,r,n,t,s;if(h.cursor>=o){if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.eq_s_b(1,"t")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.in_grouping_b(d,97,246)&&(h.cursor=h.limit-r,h.slice_del(),h.limit_backward=e,n=h.limit-h.cursor,h.cursor>=l&&(h.cursor=l,t=h.limit_backward,h.limit_backward=h.cursor,h.cursor=h.limit-n,h.ket=h.cursor,i=h.find_among_b(k,2))))){if(h.bra=h.cursor,h.limit_backward=t,1==i){if(s=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-s}return h.slice_del()}h.limit_backward=e}}()),h.limit),function(){var i,e,r,n;if(h.cursor>=o){for(i=h.limit_backward,h.limit_backward=o,e=h.limit-h.cursor,j()&&(h.cursor=h.limit-e,h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.in_grouping_b(b,97,228)&&(h.bra=h.cursor,h.out_grouping_b(d,97,246)&&h.slice_del()),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"j")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.eq_s_b(1,"o")?h.slice_del():(h.cursor=h.limit-r,h.eq_s_b(1,"u")&&h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"o")&&(h.bra=h.cursor,h.eq_s_b(1,"j")&&h.slice_del()),h.cursor=h.limit-e,h.limit_backward=i;;){if(n=h.limit-h.cursor,h.out_grouping_b(d,97,246)){h.cursor=h.limit-n;break}if(h.cursor=h.limit-n,h.cursor<=h.limit_backward)return;h.cursor--}h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,t=h.slice_to(),h.eq_v_b(t)&&h.slice_del())}}(),!0}},function(i){return"function"==typeof i.update?i.update(function(i){return e.setCurrent(i),e.stem(),e.getCurrent()}):(e.setCurrent(i),e.stem(),e.getCurrent())}),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.fr.js b/docs/_build/html/_static/javascripts/lunr/lunr.fr.js deleted file mode 100644 index 078d0cab..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.fr.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,y,s;e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=(r=e.stemmerSupport.Among,y=e.stemmerSupport.SnowballProgram,s=new function(){var s,i,t,n=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],u=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],o=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],c=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],a=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],l=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],w=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],f=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],m=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],_=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],b=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],d=new y;function k(e,r,s){return!(!d.eq_s(1,e)||(d.ket=d.cursor,!d.in_grouping(_,97,251)))&&(d.slice_from(r),d.cursor=s,!0)}function p(e,r,s){return!!d.eq_s(1,e)&&(d.ket=d.cursor,d.slice_from(r),d.cursor=s,!0)}function g(){for(;!d.in_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}for(;!d.out_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}function q(){return t<=d.cursor}function v(){return i<=d.cursor}function h(){return s<=d.cursor}function z(){if(!function(){var e,r;if(d.ket=d.cursor,e=d.find_among_b(a,43)){switch(d.bra=d.cursor,e){case 1:if(!h())return!1;d.slice_del();break;case 2:if(!h())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")&&(d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU"));break;case 3:if(!h())return!1;d.slice_from("log");break;case 4:if(!h())return!1;d.slice_from("u");break;case 5:if(!h())return!1;d.slice_from("ent");break;case 6:if(!q())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(o,6))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&d.slice_del()));break;case 2:h()?d.slice_del():v()&&d.slice_from("eux");break;case 3:h()&&d.slice_del();break;case 4:q()&&d.slice_from("i")}break;case 7:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(c,3))switch(d.bra=d.cursor,e){case 1:h()?d.slice_del():d.slice_from("abl");break;case 2:h()?d.slice_del():d.slice_from("iqU");break;case 3:h()&&d.slice_del()}break;case 8:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")))){d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU");break}break;case 9:d.slice_from("eau");break;case 10:if(!v())return!1;d.slice_from("al");break;case 11:if(h())d.slice_del();else{if(!v())return!1;d.slice_from("eux")}break;case 12:if(!v()||!d.out_grouping_b(_,97,251))return!1;d.slice_del();break;case 13:return q()&&d.slice_from("ant"),!1;case 14:return q()&&d.slice_from("ent"),!1;case 15:return r=d.limit-d.cursor,d.in_grouping_b(_,97,251)&&q()&&(d.cursor=d.limit-r,d.slice_del()),!1}return!0}return!1}()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor=t){if(s=d.limit_backward,d.limit_backward=t,d.ket=d.cursor,e=d.find_among_b(f,7))switch(d.bra=d.cursor,e){case 1:if(h()){if(i=d.limit-d.cursor,!d.eq_s_b(1,"s")&&(d.cursor=d.limit-i,!d.eq_s_b(1,"t")))break;d.slice_del()}break;case 2:d.slice_from("i");break;case 3:d.slice_del();break;case 4:d.eq_s_b(2,"gu")&&d.slice_del()}d.limit_backward=s}}();d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"Y")?(d.bra=d.cursor,d.slice_from("i")):(d.cursor=d.limit,d.eq_s_b(1,"ç")&&(d.bra=d.cursor,d.slice_from("c")))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e,r;;){if(e=d.cursor,d.in_grouping(_,97,251)){if(d.bra=d.cursor,r=d.cursor,k("u","U",e))continue;if(d.cursor=r,k("i","I",e))continue;if(d.cursor=r,p("y","Y",e))continue}if(d.cursor=e,!k("y","Y",d.bra=e)){if(d.cursor=e,d.eq_s(1,"q")&&(d.bra=d.cursor,p("u","U",e)))continue;if((d.cursor=e)>=d.limit)return;d.cursor++}}}(),d.cursor=r,function(){var e=d.cursor;if(t=d.limit,s=i=t,d.in_grouping(_,97,251)&&d.in_grouping(_,97,251)&&d.cursor=d.limit){d.cursor=t;break}d.cursor++}while(!d.in_grouping(_,97,251))}t=d.cursor,d.cursor=e,g()||(i=d.cursor,g()||(s=d.cursor))}(),d.limit_backward=r,d.cursor=d.limit,z(),d.cursor=d.limit,e=d.limit-d.cursor,d.find_among_b(m,5)&&(d.cursor=d.limit-e,d.ket=d.cursor,d.cursor>d.limit_backward&&(d.cursor--,d.bra=d.cursor,d.slice_del())),d.cursor=d.limit,function(){for(var e,r=1;d.out_grouping_b(_,97,251);)r--;if(r<=0){if(d.ket=d.cursor,e=d.limit-d.cursor,!d.eq_s_b(1,"é")&&(d.cursor=d.limit-e,!d.eq_s_b(1,"è")))return;d.bra=d.cursor,d.slice_from("e")}}(),d.cursor=d.limit_backward,function(){for(var e,r;r=d.cursor,d.bra=r,e=d.find_among(u,4);)switch(d.ket=d.cursor,e){case 1:d.slice_from("i");break;case 2:d.slice_from("u");break;case 3:d.slice_from("y");break;case 4:if(d.cursor>=d.limit)return;d.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.hu.js b/docs/_build/html/_static/javascripts/lunr/lunr.hu.js deleted file mode 100644 index 56a4b0dc..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.hu.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var p,_,n;e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=(p=e.stemmerSupport.Among,_=e.stemmerSupport.SnowballProgram,n=new function(){var r,i=[new p("cs",-1,-1),new p("dzs",-1,-1),new p("gy",-1,-1),new p("ly",-1,-1),new p("ny",-1,-1),new p("sz",-1,-1),new p("ty",-1,-1),new p("zs",-1,-1)],n=[new p("á",-1,1),new p("é",-1,2)],a=[new p("bb",-1,-1),new p("cc",-1,-1),new p("dd",-1,-1),new p("ff",-1,-1),new p("gg",-1,-1),new p("jj",-1,-1),new p("kk",-1,-1),new p("ll",-1,-1),new p("mm",-1,-1),new p("nn",-1,-1),new p("pp",-1,-1),new p("rr",-1,-1),new p("ccs",-1,-1),new p("ss",-1,-1),new p("zzs",-1,-1),new p("tt",-1,-1),new p("vv",-1,-1),new p("ggy",-1,-1),new p("lly",-1,-1),new p("nny",-1,-1),new p("tty",-1,-1),new p("ssz",-1,-1),new p("zz",-1,-1)],t=[new p("al",-1,1),new p("el",-1,2)],e=[new p("ba",-1,-1),new p("ra",-1,-1),new p("be",-1,-1),new p("re",-1,-1),new p("ig",-1,-1),new p("nak",-1,-1),new p("nek",-1,-1),new p("val",-1,-1),new p("vel",-1,-1),new p("ul",-1,-1),new p("nál",-1,-1),new p("nél",-1,-1),new p("ból",-1,-1),new p("ról",-1,-1),new p("tól",-1,-1),new p("bõl",-1,-1),new p("rõl",-1,-1),new p("tõl",-1,-1),new p("ül",-1,-1),new p("n",-1,-1),new p("an",19,-1),new p("ban",20,-1),new p("en",19,-1),new p("ben",22,-1),new p("képpen",22,-1),new p("on",19,-1),new p("ön",19,-1),new p("képp",-1,-1),new p("kor",-1,-1),new p("t",-1,-1),new p("at",29,-1),new p("et",29,-1),new p("ként",29,-1),new p("anként",32,-1),new p("enként",32,-1),new p("onként",32,-1),new p("ot",29,-1),new p("ért",29,-1),new p("öt",29,-1),new p("hez",-1,-1),new p("hoz",-1,-1),new p("höz",-1,-1),new p("vá",-1,-1),new p("vé",-1,-1)],s=[new p("án",-1,2),new p("én",-1,1),new p("ánként",-1,3)],c=[new p("stul",-1,2),new p("astul",0,1),new p("ástul",0,3),new p("stül",-1,2),new p("estül",3,1),new p("éstül",3,4)],w=[new p("á",-1,1),new p("é",-1,2)],o=[new p("k",-1,7),new p("ak",0,4),new p("ek",0,6),new p("ok",0,5),new p("ák",0,1),new p("ék",0,2),new p("ök",0,3)],l=[new p("éi",-1,7),new p("áéi",0,6),new p("ééi",0,5),new p("é",-1,9),new p("ké",3,4),new p("aké",4,1),new p("eké",4,1),new p("oké",4,1),new p("áké",4,3),new p("éké",4,2),new p("öké",4,1),new p("éé",3,8)],u=[new p("a",-1,18),new p("ja",0,17),new p("d",-1,16),new p("ad",2,13),new p("ed",2,13),new p("od",2,13),new p("ád",2,14),new p("éd",2,15),new p("öd",2,13),new p("e",-1,18),new p("je",9,17),new p("nk",-1,4),new p("unk",11,1),new p("ánk",11,2),new p("énk",11,3),new p("ünk",11,1),new p("uk",-1,8),new p("juk",16,7),new p("ájuk",17,5),new p("ük",-1,8),new p("jük",19,7),new p("éjük",20,6),new p("m",-1,12),new p("am",22,9),new p("em",22,9),new p("om",22,9),new p("ám",22,10),new p("ém",22,11),new p("o",-1,18),new p("á",-1,19),new p("é",-1,20)],m=[new p("id",-1,10),new p("aid",0,9),new p("jaid",1,6),new p("eid",0,9),new p("jeid",3,6),new p("áid",0,7),new p("éid",0,8),new p("i",-1,15),new p("ai",7,14),new p("jai",8,11),new p("ei",7,14),new p("jei",10,11),new p("ái",7,12),new p("éi",7,13),new p("itek",-1,24),new p("eitek",14,21),new p("jeitek",15,20),new p("éitek",14,23),new p("ik",-1,29),new p("aik",18,26),new p("jaik",19,25),new p("eik",18,26),new p("jeik",21,25),new p("áik",18,27),new p("éik",18,28),new p("ink",-1,20),new p("aink",25,17),new p("jaink",26,16),new p("eink",25,17),new p("jeink",28,16),new p("áink",25,18),new p("éink",25,19),new p("aitok",-1,21),new p("jaitok",32,20),new p("áitok",-1,22),new p("im",-1,5),new p("aim",35,4),new p("jaim",36,1),new p("eim",35,4),new p("jeim",38,1),new p("áim",35,2),new p("éim",35,3)],k=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],f=new _;function b(){return r<=f.cursor}function d(){var e=f.limit-f.cursor;return!!f.find_among_b(a,23)&&(f.cursor=f.limit-e,!0)}function g(){if(f.cursor>f.limit_backward){f.cursor--,f.ket=f.cursor;var e=f.cursor-1;f.limit_backward<=e&&e<=f.limit&&(f.cursor=e,f.bra=e,f.slice_del())}}function h(){f.ket=f.cursor,f.find_among_b(e,44)&&(f.bra=f.cursor,b()&&(f.slice_del(),function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(n,2))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e")}}()))}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e=f.cursor;return function(){var e,n=f.cursor;if(r=f.limit,f.in_grouping(k,97,252))for(;;){if(e=f.cursor,f.out_grouping(k,97,252))return f.cursor=e,f.find_among(i,8)||(f.cursor=e)=f.limit)return r=e;f.cursor++}if(f.cursor=n,f.out_grouping(k,97,252)){for(;!f.in_grouping(k,97,252);){if(f.cursor>=f.limit)return;f.cursor++}r=f.cursor}}(),f.limit_backward=e,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(t,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,h(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(s,3))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("e");break;case 2:case 3:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(c,6))&&(f.bra=f.cursor,b()))switch(e){case 1:case 2:f.slice_del();break;case 3:f.slice_from("a");break;case 4:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(w,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(l,12))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 9:f.slice_del();break;case 2:case 5:case 8:f.slice_from("e");break;case 3:case 6:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(u,31))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:f.slice_del();break;case 2:case 5:case 10:case 14:case 19:f.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(m,42))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:f.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:f.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(o,7))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:f.slice_del()}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.it.js b/docs/_build/html/_static/javascripts/lunr/lunr.it.js deleted file mode 100644 index 50dddaa0..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.it.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var z,P,r;e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=(z=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,r=new function(){var o,t,s,a=[new z("",-1,7),new z("qu",0,6),new z("á",0,1),new z("é",0,2),new z("í",0,3),new z("ó",0,4),new z("ú",0,5)],u=[new z("",-1,3),new z("I",0,1),new z("U",0,2)],c=[new z("la",-1,-1),new z("cela",0,-1),new z("gliela",0,-1),new z("mela",0,-1),new z("tela",0,-1),new z("vela",0,-1),new z("le",-1,-1),new z("cele",6,-1),new z("gliele",6,-1),new z("mele",6,-1),new z("tele",6,-1),new z("vele",6,-1),new z("ne",-1,-1),new z("cene",12,-1),new z("gliene",12,-1),new z("mene",12,-1),new z("sene",12,-1),new z("tene",12,-1),new z("vene",12,-1),new z("ci",-1,-1),new z("li",-1,-1),new z("celi",20,-1),new z("glieli",20,-1),new z("meli",20,-1),new z("teli",20,-1),new z("veli",20,-1),new z("gli",20,-1),new z("mi",-1,-1),new z("si",-1,-1),new z("ti",-1,-1),new z("vi",-1,-1),new z("lo",-1,-1),new z("celo",31,-1),new z("glielo",31,-1),new z("melo",31,-1),new z("telo",31,-1),new z("velo",31,-1)],w=[new z("ando",-1,1),new z("endo",-1,1),new z("ar",-1,2),new z("er",-1,2),new z("ir",-1,2)],r=[new z("ic",-1,-1),new z("abil",-1,-1),new z("os",-1,-1),new z("iv",-1,1)],n=[new z("ic",-1,1),new z("abil",-1,1),new z("iv",-1,1)],i=[new z("ica",-1,1),new z("logia",-1,3),new z("osa",-1,1),new z("ista",-1,1),new z("iva",-1,9),new z("anza",-1,1),new z("enza",-1,5),new z("ice",-1,1),new z("atrice",7,1),new z("iche",-1,1),new z("logie",-1,3),new z("abile",-1,1),new z("ibile",-1,1),new z("usione",-1,4),new z("azione",-1,2),new z("uzione",-1,4),new z("atore",-1,2),new z("ose",-1,1),new z("ante",-1,1),new z("mente",-1,1),new z("amente",19,7),new z("iste",-1,1),new z("ive",-1,9),new z("anze",-1,1),new z("enze",-1,5),new z("ici",-1,1),new z("atrici",25,1),new z("ichi",-1,1),new z("abili",-1,1),new z("ibili",-1,1),new z("ismi",-1,1),new z("usioni",-1,4),new z("azioni",-1,2),new z("uzioni",-1,4),new z("atori",-1,2),new z("osi",-1,1),new z("anti",-1,1),new z("amenti",-1,6),new z("imenti",-1,6),new z("isti",-1,1),new z("ivi",-1,9),new z("ico",-1,1),new z("ismo",-1,1),new z("oso",-1,1),new z("amento",-1,6),new z("imento",-1,6),new z("ivo",-1,9),new z("ità",-1,8),new z("istà",-1,1),new z("istè",-1,1),new z("istì",-1,1)],l=[new z("isca",-1,1),new z("enda",-1,1),new z("ata",-1,1),new z("ita",-1,1),new z("uta",-1,1),new z("ava",-1,1),new z("eva",-1,1),new z("iva",-1,1),new z("erebbe",-1,1),new z("irebbe",-1,1),new z("isce",-1,1),new z("ende",-1,1),new z("are",-1,1),new z("ere",-1,1),new z("ire",-1,1),new z("asse",-1,1),new z("ate",-1,1),new z("avate",16,1),new z("evate",16,1),new z("ivate",16,1),new z("ete",-1,1),new z("erete",20,1),new z("irete",20,1),new z("ite",-1,1),new z("ereste",-1,1),new z("ireste",-1,1),new z("ute",-1,1),new z("erai",-1,1),new z("irai",-1,1),new z("isci",-1,1),new z("endi",-1,1),new z("erei",-1,1),new z("irei",-1,1),new z("assi",-1,1),new z("ati",-1,1),new z("iti",-1,1),new z("eresti",-1,1),new z("iresti",-1,1),new z("uti",-1,1),new z("avi",-1,1),new z("evi",-1,1),new z("ivi",-1,1),new z("isco",-1,1),new z("ando",-1,1),new z("endo",-1,1),new z("Yamo",-1,1),new z("iamo",-1,1),new z("avamo",-1,1),new z("evamo",-1,1),new z("ivamo",-1,1),new z("eremo",-1,1),new z("iremo",-1,1),new z("assimo",-1,1),new z("ammo",-1,1),new z("emmo",-1,1),new z("eremmo",54,1),new z("iremmo",54,1),new z("immo",-1,1),new z("ano",-1,1),new z("iscano",58,1),new z("avano",58,1),new z("evano",58,1),new z("ivano",58,1),new z("eranno",-1,1),new z("iranno",-1,1),new z("ono",-1,1),new z("iscono",65,1),new z("arono",65,1),new z("erono",65,1),new z("irono",65,1),new z("erebbero",-1,1),new z("irebbero",-1,1),new z("assero",-1,1),new z("essero",-1,1),new z("issero",-1,1),new z("ato",-1,1),new z("ito",-1,1),new z("uto",-1,1),new z("avo",-1,1),new z("evo",-1,1),new z("ivo",-1,1),new z("ar",-1,1),new z("ir",-1,1),new z("erà",-1,1),new z("irà",-1,1),new z("erò",-1,1),new z("irò",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],f=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],v=[17],b=new P;function d(e,r,n){return!(!b.eq_s(1,e)||(b.ket=b.cursor,!b.in_grouping(m,97,249)))&&(b.slice_from(r),b.cursor=n,!0)}function _(e){if(b.cursor=e,!b.in_grouping(m,97,249))return!1;for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function g(){var e,r=b.cursor;if(!function(){if(b.in_grouping(m,97,249)){var e=b.cursor;if(b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return _(e);b.cursor++}return!0}return _(e)}return!1}()){if(b.cursor=r,!b.out_grouping(m,97,249))return;if(e=b.cursor,b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return b.cursor=e,void(b.in_grouping(m,97,249)&&b.cursor=b.limit)return;b.cursor++}s=b.cursor}function p(){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function k(){return s<=b.cursor}function h(){return o<=b.cursor}function q(){var e;if(b.ket=b.cursor,!(e=b.find_among_b(i,51)))return!1;switch(b.bra=b.cursor,e){case 1:if(!h())return!1;b.slice_del();break;case 2:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del());break;case 3:if(!h())return!1;b.slice_from("log");break;case 4:if(!h())return!1;b.slice_from("u");break;case 5:if(!h())return!1;b.slice_from("ente");break;case 6:if(!k())return!1;b.slice_del();break;case 7:if(!(t<=b.cursor))return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(r,4))&&(b.bra=b.cursor,h()&&(b.slice_del(),1==e&&(b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&b.slice_del()))));break;case 8:if(!h())return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(n,3))&&(b.bra=b.cursor,1==e&&h()&&b.slice_del());break;case 9:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del())))}return!0}function C(){var e;e=b.limit-b.cursor,b.ket=b.cursor,b.in_grouping_b(f,97,242)&&(b.bra=b.cursor,k()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(1,"i")&&(b.bra=b.cursor,k())))?b.slice_del():b.cursor=b.limit-e,b.ket=b.cursor,b.eq_s_b(1,"h")&&(b.bra=b.cursor,b.in_grouping_b(v,99,103)&&k()&&b.slice_del())}this.setCurrent=function(e){b.setCurrent(e)},this.getCurrent=function(){return b.getCurrent()},this.stem=function(){var e,r,n,i=b.cursor;return function(){for(var e,r,n,i,o=b.cursor;;){if(b.bra=b.cursor,e=b.find_among(a,7))switch(b.ket=b.cursor,e){case 1:b.slice_from("à");continue;case 2:b.slice_from("è");continue;case 3:b.slice_from("ì");continue;case 4:b.slice_from("ò");continue;case 5:b.slice_from("ù");continue;case 6:b.slice_from("qU");continue;case 7:if(b.cursor>=b.limit)break;b.cursor++;continue}break}for(b.cursor=o;;)for(r=b.cursor;;){if(n=b.cursor,b.in_grouping(m,97,249)){if(b.bra=b.cursor,i=b.cursor,d("u","U",n))break;if(b.cursor=i,d("i","I",n))break}if(b.cursor=n,b.cursor>=b.limit)return b.cursor=r;b.cursor++}}(),b.cursor=i,e=b.cursor,s=b.limit,o=t=s,g(),b.cursor=e,p()&&(t=b.cursor,p()&&(o=b.cursor)),b.limit_backward=i,b.cursor=b.limit,function(){var e;if(b.ket=b.cursor,b.find_among_b(c,37)&&(b.bra=b.cursor,(e=b.find_among_b(w,5))&&k()))switch(e){case 1:b.slice_del();break;case 2:b.slice_from("e")}}(),b.cursor=b.limit,q()||(b.cursor=b.limit,b.cursor>=s&&(n=b.limit_backward,b.limit_backward=s,b.ket=b.cursor,(r=b.find_among_b(l,87))&&(b.bra=b.cursor,1==r&&b.slice_del()),b.limit_backward=n)),b.cursor=b.limit,C(),b.cursor=b.limit_backward,function(){for(var e;b.bra=b.cursor,e=b.find_among(u,3);)switch(b.ket=b.cursor,e){case 1:b.slice_from("i");break;case 2:b.slice_from("u");break;case 3:if(b.cursor>=b.limit)return;b.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.ja.js b/docs/_build/html/_static/javascripts/lunr/lunr.ja.js deleted file mode 100644 index 69f62025..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.ja.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(m){if(void 0===m)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===m.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var l="2"==m.version[0];m.ja=function(){this.pipeline.reset(),this.pipeline.add(m.ja.trimmer,m.ja.stopWordFilter,m.ja.stemmer),l?this.tokenizer=m.ja.tokenizer:(m.tokenizer&&(m.tokenizer=m.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=m.ja.tokenizer))};var j=new m.TinySegmenter;m.ja.tokenizer=function(e){var r,t,i,n,o,s,p,a,u;if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return l?new m.Token(e.toLowerCase()):e.toLowerCase()});for(r=(t=e.toString().toLowerCase().replace(/^\s+/,"")).length-1;0<=r;r--)if(/\S/.test(t.charAt(r))){t=t.substring(0,r+1);break}for(o=[],i=t.length,p=a=0;a<=i;a++)if(s=a-p,t.charAt(a).match(/\s/)||a==i){if(0=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return e<=_.cursor}function g(){var r=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-r,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var r;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.slice_del(),u=!0,g())))}function k(){var r;b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.eq_s_b(3,"gem")||(_.cursor=_.limit-r,_.slice_del(),g())))}this.setCurrent=function(r){_.setCurrent(r)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var r=_.cursor;return function(){for(var r,e,i,n=_.cursor;;){if(_.bra=_.cursor,r=_.find_among(o,11))switch(_.ket=_.cursor,r){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(e=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=e);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=e;else if(s(e))break}else if(s(e))break}(),_.cursor=r,i=_.limit,e=i,w()||((i=_.cursor)<3&&(i=3),w()||(e=_.cursor)),_.limit_backward=r,_.cursor=_.limit,function(){var r,e,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,r=_.find_among_b(c,5))switch(_.bra=_.cursor,r){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(e=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-e,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,r=_.find_among_b(a,6))switch(_.bra=_.cursor,r){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var r;;)if(_.bra=_.cursor,r=_.find_among(n,3))switch(_.ket=_.cursor,r){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.no.js b/docs/_build/html/_static/javascripts/lunr/lunr.no.js deleted file mode 100644 index 3d156b9c..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.no.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,n,i;e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=(r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){var o,s,a=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],m=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],u=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],d=[119,125,149,1],c=new n;this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r,n,i,t=c.cursor;return function(){var e,r=c.cursor+3;if(s=c.limit,0<=r||r<=c.limit){for(o=r;;){if(e=c.cursor,c.in_grouping(u,97,248)){c.cursor=e;break}if(e>=c.limit)return;c.cursor=e+1}for(;!c.out_grouping(u,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(s=c.cursor)=s&&(r=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,e=c.find_among_b(a,29),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:n=c.limit-c.cursor,c.in_grouping_b(d,98,122)?c.slice_del():(c.cursor=c.limit-n,c.eq_s_b(1,"k")&&c.out_grouping_b(u,97,248)&&c.slice_del());break;case 3:c.slice_from("er")}}(),c.cursor=c.limit,r=c.limit-c.cursor,c.cursor>=s&&(e=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,c.find_among_b(m,2)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e),c.cursor=c.limit,c.cursor>=s&&(i=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,(n=c.find_among_b(l,11))?(c.bra=c.cursor,c.limit_backward=i,1==n&&c.slice_del()):c.limit_backward=i),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.pt.js b/docs/_build/html/_static/javascripts/lunr/lunr.pt.js deleted file mode 100644 index f50fc9fa..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.pt.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var j,C,r;e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=(j=e.stemmerSupport.Among,C=e.stemmerSupport.SnowballProgram,r=new function(){var s,n,i,o=[new j("",-1,3),new j("ã",0,1),new j("õ",0,2)],a=[new j("",-1,3),new j("a~",0,1),new j("o~",0,2)],r=[new j("ic",-1,-1),new j("ad",-1,-1),new j("os",-1,-1),new j("iv",-1,1)],t=[new j("ante",-1,1),new j("avel",-1,1),new j("ível",-1,1)],u=[new j("ic",-1,1),new j("abil",-1,1),new j("iv",-1,1)],w=[new j("ica",-1,1),new j("ância",-1,1),new j("ência",-1,4),new j("ira",-1,9),new j("adora",-1,1),new j("osa",-1,1),new j("ista",-1,1),new j("iva",-1,8),new j("eza",-1,1),new j("logía",-1,2),new j("idade",-1,7),new j("ante",-1,1),new j("mente",-1,6),new j("amente",12,5),new j("ável",-1,1),new j("ível",-1,1),new j("ución",-1,3),new j("ico",-1,1),new j("ismo",-1,1),new j("oso",-1,1),new j("amento",-1,1),new j("imento",-1,1),new j("ivo",-1,8),new j("aça~o",-1,1),new j("ador",-1,1),new j("icas",-1,1),new j("ências",-1,4),new j("iras",-1,9),new j("adoras",-1,1),new j("osas",-1,1),new j("istas",-1,1),new j("ivas",-1,8),new j("ezas",-1,1),new j("logías",-1,2),new j("idades",-1,7),new j("uciones",-1,3),new j("adores",-1,1),new j("antes",-1,1),new j("aço~es",-1,1),new j("icos",-1,1),new j("ismos",-1,1),new j("osos",-1,1),new j("amentos",-1,1),new j("imentos",-1,1),new j("ivos",-1,8)],m=[new j("ada",-1,1),new j("ida",-1,1),new j("ia",-1,1),new j("aria",2,1),new j("eria",2,1),new j("iria",2,1),new j("ara",-1,1),new j("era",-1,1),new j("ira",-1,1),new j("ava",-1,1),new j("asse",-1,1),new j("esse",-1,1),new j("isse",-1,1),new j("aste",-1,1),new j("este",-1,1),new j("iste",-1,1),new j("ei",-1,1),new j("arei",16,1),new j("erei",16,1),new j("irei",16,1),new j("am",-1,1),new j("iam",20,1),new j("ariam",21,1),new j("eriam",21,1),new j("iriam",21,1),new j("aram",20,1),new j("eram",20,1),new j("iram",20,1),new j("avam",20,1),new j("em",-1,1),new j("arem",29,1),new j("erem",29,1),new j("irem",29,1),new j("assem",29,1),new j("essem",29,1),new j("issem",29,1),new j("ado",-1,1),new j("ido",-1,1),new j("ando",-1,1),new j("endo",-1,1),new j("indo",-1,1),new j("ara~o",-1,1),new j("era~o",-1,1),new j("ira~o",-1,1),new j("ar",-1,1),new j("er",-1,1),new j("ir",-1,1),new j("as",-1,1),new j("adas",47,1),new j("idas",47,1),new j("ias",47,1),new j("arias",50,1),new j("erias",50,1),new j("irias",50,1),new j("aras",47,1),new j("eras",47,1),new j("iras",47,1),new j("avas",47,1),new j("es",-1,1),new j("ardes",58,1),new j("erdes",58,1),new j("irdes",58,1),new j("ares",58,1),new j("eres",58,1),new j("ires",58,1),new j("asses",58,1),new j("esses",58,1),new j("isses",58,1),new j("astes",58,1),new j("estes",58,1),new j("istes",58,1),new j("is",-1,1),new j("ais",71,1),new j("eis",71,1),new j("areis",73,1),new j("ereis",73,1),new j("ireis",73,1),new j("áreis",73,1),new j("éreis",73,1),new j("íreis",73,1),new j("ásseis",73,1),new j("ésseis",73,1),new j("ísseis",73,1),new j("áveis",73,1),new j("íeis",73,1),new j("aríeis",84,1),new j("eríeis",84,1),new j("iríeis",84,1),new j("ados",-1,1),new j("idos",-1,1),new j("amos",-1,1),new j("áramos",90,1),new j("éramos",90,1),new j("íramos",90,1),new j("ávamos",90,1),new j("íamos",90,1),new j("aríamos",95,1),new j("eríamos",95,1),new j("iríamos",95,1),new j("emos",-1,1),new j("aremos",99,1),new j("eremos",99,1),new j("iremos",99,1),new j("ássemos",99,1),new j("êssemos",99,1),new j("íssemos",99,1),new j("imos",-1,1),new j("armos",-1,1),new j("ermos",-1,1),new j("irmos",-1,1),new j("ámos",-1,1),new j("arás",-1,1),new j("erás",-1,1),new j("irás",-1,1),new j("eu",-1,1),new j("iu",-1,1),new j("ou",-1,1),new j("ará",-1,1),new j("erá",-1,1),new j("irá",-1,1)],c=[new j("a",-1,1),new j("i",-1,1),new j("o",-1,1),new j("os",-1,1),new j("á",-1,1),new j("í",-1,1),new j("ó",-1,1)],l=[new j("e",-1,1),new j("ç",-1,2),new j("é",-1,1),new j("ê",-1,1)],f=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],d=new C;function v(){if(d.out_grouping(f,97,250)){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}return!0}function p(){var e,r,s=d.cursor;if(d.in_grouping(f,97,250))if(e=d.cursor,v()){if(d.cursor=e,function(){if(d.in_grouping(f,97,250))for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return i=d.cursor,!0}())return}else i=d.cursor;if(d.cursor=s,d.out_grouping(f,97,250)){if(r=d.cursor,v()){if(d.cursor=r,!d.in_grouping(f,97,250)||d.cursor>=d.limit)return;d.cursor++}i=d.cursor}}function _(){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return!0}function h(){return i<=d.cursor}function b(){return s<=d.cursor}function g(){var e;if(d.ket=d.cursor,!(e=d.find_among_b(w,45)))return!1;switch(d.bra=d.cursor,e){case 1:if(!b())return!1;d.slice_del();break;case 2:if(!b())return!1;d.slice_from("log");break;case 3:if(!b())return!1;d.slice_from("u");break;case 4:if(!b())return!1;d.slice_from("ente");break;case 5:if(!(n<=d.cursor))return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(r,4))&&(d.bra=d.cursor,b()&&(d.slice_del(),1==e&&(d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del()))));break;case 6:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(t,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 7:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(u,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 8:if(!b())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del());break;case 9:if(!h()||!d.eq_s_b(1,"e"))return!1;d.slice_from("ir")}return!0}function k(e,r){if(d.eq_s_b(1,e)){d.bra=d.cursor;var s=d.limit-d.cursor;if(d.eq_s_b(1,r))return d.cursor=d.limit-s,h()&&d.slice_del(),!1}return!0}function q(){if(!g()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor>=i){if(r=d.limit_backward,d.limit_backward=i,d.ket=d.cursor,e=d.find_among_b(m,120))return d.bra=d.cursor,1==e&&d.slice_del(),d.limit_backward=r,!0;d.limit_backward=r}return!1}()))return d.cursor=d.limit,d.ket=d.cursor,void((e=d.find_among_b(c,7))&&(d.bra=d.cursor,1==e&&h()&&d.slice_del()));var e;d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"i")&&(d.bra=d.cursor,d.eq_s_b(1,"c")&&(d.cursor=d.limit,h()&&d.slice_del()))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(o,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("a~");continue;case 2:d.slice_from("o~");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),d.cursor=r,e=d.cursor,i=d.limit,s=n=i,p(),d.cursor=e,_()&&(n=d.cursor,_()&&(s=d.cursor)),d.limit_backward=r,d.cursor=d.limit,q(),d.cursor=d.limit,function(){var e;if(d.ket=d.cursor,e=d.find_among_b(l,4))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.limit,d.cursor,k("u","g")&&k("i","c"));break;case 2:d.slice_from("c")}}(),d.cursor=d.limit_backward,function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(a,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("ã");continue;case 2:d.slice_from("õ");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.ro.js b/docs/_build/html/_static/javascripts/lunr/lunr.ro.js deleted file mode 100644 index b19627e1..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.ro.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,z,i;e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=(h=e.stemmerSupport.Among,z=e.stemmerSupport.SnowballProgram,i=new function(){var r,n,t,a,o=[new h("",-1,3),new h("I",0,1),new h("U",0,2)],s=[new h("ea",-1,3),new h("aţia",-1,7),new h("aua",-1,2),new h("iua",-1,4),new h("aţie",-1,7),new h("ele",-1,3),new h("ile",-1,5),new h("iile",6,4),new h("iei",-1,4),new h("atei",-1,6),new h("ii",-1,4),new h("ului",-1,1),new h("ul",-1,1),new h("elor",-1,3),new h("ilor",-1,4),new h("iilor",14,4)],c=[new h("icala",-1,4),new h("iciva",-1,4),new h("ativa",-1,5),new h("itiva",-1,6),new h("icale",-1,4),new h("aţiune",-1,5),new h("iţiune",-1,6),new h("atoare",-1,5),new h("itoare",-1,6),new h("ătoare",-1,5),new h("icitate",-1,4),new h("abilitate",-1,1),new h("ibilitate",-1,2),new h("ivitate",-1,3),new h("icive",-1,4),new h("ative",-1,5),new h("itive",-1,6),new h("icali",-1,4),new h("atori",-1,5),new h("icatori",18,4),new h("itori",-1,6),new h("ători",-1,5),new h("icitati",-1,4),new h("abilitati",-1,1),new h("ivitati",-1,3),new h("icivi",-1,4),new h("ativi",-1,5),new h("itivi",-1,6),new h("icităi",-1,4),new h("abilităi",-1,1),new h("ivităi",-1,3),new h("icităţi",-1,4),new h("abilităţi",-1,1),new h("ivităţi",-1,3),new h("ical",-1,4),new h("ator",-1,5),new h("icator",35,4),new h("itor",-1,6),new h("ător",-1,5),new h("iciv",-1,4),new h("ativ",-1,5),new h("itiv",-1,6),new h("icală",-1,4),new h("icivă",-1,4),new h("ativă",-1,5),new h("itivă",-1,6)],u=[new h("ica",-1,1),new h("abila",-1,1),new h("ibila",-1,1),new h("oasa",-1,1),new h("ata",-1,1),new h("ita",-1,1),new h("anta",-1,1),new h("ista",-1,3),new h("uta",-1,1),new h("iva",-1,1),new h("ic",-1,1),new h("ice",-1,1),new h("abile",-1,1),new h("ibile",-1,1),new h("isme",-1,3),new h("iune",-1,2),new h("oase",-1,1),new h("ate",-1,1),new h("itate",17,1),new h("ite",-1,1),new h("ante",-1,1),new h("iste",-1,3),new h("ute",-1,1),new h("ive",-1,1),new h("ici",-1,1),new h("abili",-1,1),new h("ibili",-1,1),new h("iuni",-1,2),new h("atori",-1,1),new h("osi",-1,1),new h("ati",-1,1),new h("itati",30,1),new h("iti",-1,1),new h("anti",-1,1),new h("isti",-1,3),new h("uti",-1,1),new h("işti",-1,3),new h("ivi",-1,1),new h("ităi",-1,1),new h("oşi",-1,1),new h("ităţi",-1,1),new h("abil",-1,1),new h("ibil",-1,1),new h("ism",-1,3),new h("ator",-1,1),new h("os",-1,1),new h("at",-1,1),new h("it",-1,1),new h("ant",-1,1),new h("ist",-1,3),new h("ut",-1,1),new h("iv",-1,1),new h("ică",-1,1),new h("abilă",-1,1),new h("ibilă",-1,1),new h("oasă",-1,1),new h("ată",-1,1),new h("ită",-1,1),new h("antă",-1,1),new h("istă",-1,3),new h("ută",-1,1),new h("ivă",-1,1)],w=[new h("ea",-1,1),new h("ia",-1,1),new h("esc",-1,1),new h("ăsc",-1,1),new h("ind",-1,1),new h("ând",-1,1),new h("are",-1,1),new h("ere",-1,1),new h("ire",-1,1),new h("âre",-1,1),new h("se",-1,2),new h("ase",10,1),new h("sese",10,2),new h("ise",10,1),new h("use",10,1),new h("âse",10,1),new h("eşte",-1,1),new h("ăşte",-1,1),new h("eze",-1,1),new h("ai",-1,1),new h("eai",19,1),new h("iai",19,1),new h("sei",-1,2),new h("eşti",-1,1),new h("ăşti",-1,1),new h("ui",-1,1),new h("ezi",-1,1),new h("âi",-1,1),new h("aşi",-1,1),new h("seşi",-1,2),new h("aseşi",29,1),new h("seseşi",29,2),new h("iseşi",29,1),new h("useşi",29,1),new h("âseşi",29,1),new h("işi",-1,1),new h("uşi",-1,1),new h("âşi",-1,1),new h("aţi",-1,2),new h("eaţi",38,1),new h("iaţi",38,1),new h("eţi",-1,2),new h("iţi",-1,2),new h("âţi",-1,2),new h("arăţi",-1,1),new h("serăţi",-1,2),new h("aserăţi",45,1),new h("seserăţi",45,2),new h("iserăţi",45,1),new h("userăţi",45,1),new h("âserăţi",45,1),new h("irăţi",-1,1),new h("urăţi",-1,1),new h("ârăţi",-1,1),new h("am",-1,1),new h("eam",54,1),new h("iam",54,1),new h("em",-1,2),new h("asem",57,1),new h("sesem",57,2),new h("isem",57,1),new h("usem",57,1),new h("âsem",57,1),new h("im",-1,2),new h("âm",-1,2),new h("ăm",-1,2),new h("arăm",65,1),new h("serăm",65,2),new h("aserăm",67,1),new h("seserăm",67,2),new h("iserăm",67,1),new h("userăm",67,1),new h("âserăm",67,1),new h("irăm",65,1),new h("urăm",65,1),new h("ârăm",65,1),new h("au",-1,1),new h("eau",76,1),new h("iau",76,1),new h("indu",-1,1),new h("ându",-1,1),new h("ez",-1,1),new h("ească",-1,1),new h("ară",-1,1),new h("seră",-1,2),new h("aseră",84,1),new h("seseră",84,2),new h("iseră",84,1),new h("useră",84,1),new h("âseră",84,1),new h("iră",-1,1),new h("ură",-1,1),new h("âră",-1,1),new h("ează",-1,1)],i=[new h("a",-1,1),new h("e",-1,1),new h("ie",1,1),new h("i",-1,1),new h("ă",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],l=new z;function f(e,i){l.eq_s(1,e)&&(l.ket=l.cursor,l.in_grouping(m,97,259)&&l.slice_from(i))}function p(){if(l.out_grouping(m,97,259)){for(;!l.in_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}return!0}function d(){var e,i,r=l.cursor;if(l.in_grouping(m,97,259)){if(e=l.cursor,!p())return void(a=l.cursor);if(l.cursor=e,!function(){if(l.in_grouping(m,97,259))for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}())return void(a=l.cursor)}l.cursor=r,l.out_grouping(m,97,259)&&(i=l.cursor,p()&&(l.cursor=i,l.in_grouping(m,97,259)&&l.cursor=l.limit)return!1;l.cursor++}for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function v(){return t<=l.cursor}function _(){var e,i=l.limit-l.cursor;if(l.ket=l.cursor,(e=l.find_among_b(c,46))&&(l.bra=l.cursor,v())){switch(e){case 1:l.slice_from("abil");break;case 2:l.slice_from("ibil");break;case 3:l.slice_from("iv");break;case 4:l.slice_from("ic");break;case 5:l.slice_from("at");break;case 6:l.slice_from("it")}return r=!0,l.cursor=l.limit-i,!0}return!1}function g(){var e,i;for(r=!1;;)if(i=l.limit-l.cursor,!_()){l.cursor=l.limit-i;break}if(l.ket=l.cursor,(e=l.find_among_b(u,62))&&(l.bra=l.cursor,n<=l.cursor)){switch(e){case 1:l.slice_del();break;case 2:l.eq_s_b(1,"ţ")&&(l.bra=l.cursor,l.slice_from("t"));break;case 3:l.slice_from("ist")}r=!0}}function k(){var e;l.ket=l.cursor,(e=l.find_among_b(i,5))&&(l.bra=l.cursor,a<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){var e,i=l.cursor;return function(){for(var e,i;e=l.cursor,l.in_grouping(m,97,259)&&(i=l.cursor,l.bra=i,f("u","U"),l.cursor=i,f("i","I")),l.cursor=e,!(l.cursor>=l.limit);)l.cursor++}(),l.cursor=i,e=l.cursor,a=l.limit,n=t=a,d(),l.cursor=e,b()&&(t=l.cursor,b()&&(n=l.cursor)),l.limit_backward=i,l.cursor=l.limit,function(){var e,i;if(l.ket=l.cursor,(e=l.find_among_b(s,16))&&(l.bra=l.cursor,v()))switch(e){case 1:l.slice_del();break;case 2:l.slice_from("a");break;case 3:l.slice_from("e");break;case 4:l.slice_from("i");break;case 5:i=l.limit-l.cursor,l.eq_s_b(2,"ab")||(l.cursor=l.limit-i,l.slice_from("i"));break;case 6:l.slice_from("at");break;case 7:l.slice_from("aţi")}}(),l.cursor=l.limit,g(),l.cursor=l.limit,r||(l.cursor=l.limit,function(){var e,i,r;if(l.cursor>=a){if(i=l.limit_backward,l.limit_backward=a,l.ket=l.cursor,e=l.find_among_b(w,94))switch(l.bra=l.cursor,e){case 1:if(r=l.limit-l.cursor,!l.out_grouping_b(m,97,259)&&(l.cursor=l.limit-r,!l.eq_s_b(1,"u")))break;case 2:l.slice_del()}l.limit_backward=i}}(),l.cursor=l.limit),k(),l.cursor=l.limit_backward,function(){for(var e;;){if(l.bra=l.cursor,e=l.find_among(o,3))switch(l.ket=l.cursor,e){case 1:l.slice_from("i");continue;case 2:l.slice_from("u");continue;case 3:if(l.cursor>=l.limit)break;l.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.ru.js b/docs/_build/html/_static/javascripts/lunr/lunr.ru.js deleted file mode 100644 index ac992480..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.ru.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,g,n;e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=(h=e.stemmerSupport.Among,g=e.stemmerSupport.SnowballProgram,n=new function(){var n,e,r=[new h("в",-1,1),new h("ив",0,2),new h("ыв",0,2),new h("вши",-1,1),new h("ивши",3,2),new h("ывши",3,2),new h("вшись",-1,1),new h("ившись",6,2),new h("ывшись",6,2)],t=[new h("ее",-1,1),new h("ие",-1,1),new h("ое",-1,1),new h("ые",-1,1),new h("ими",-1,1),new h("ыми",-1,1),new h("ей",-1,1),new h("ий",-1,1),new h("ой",-1,1),new h("ый",-1,1),new h("ем",-1,1),new h("им",-1,1),new h("ом",-1,1),new h("ым",-1,1),new h("его",-1,1),new h("ого",-1,1),new h("ему",-1,1),new h("ому",-1,1),new h("их",-1,1),new h("ых",-1,1),new h("ею",-1,1),new h("ою",-1,1),new h("ую",-1,1),new h("юю",-1,1),new h("ая",-1,1),new h("яя",-1,1)],w=[new h("ем",-1,1),new h("нн",-1,1),new h("вш",-1,1),new h("ивш",2,2),new h("ывш",2,2),new h("щ",-1,1),new h("ющ",5,1),new h("ующ",6,2)],i=[new h("сь",-1,1),new h("ся",-1,1)],u=[new h("ла",-1,1),new h("ила",0,2),new h("ыла",0,2),new h("на",-1,1),new h("ена",3,2),new h("ете",-1,1),new h("ите",-1,2),new h("йте",-1,1),new h("ейте",7,2),new h("уйте",7,2),new h("ли",-1,1),new h("или",10,2),new h("ыли",10,2),new h("й",-1,1),new h("ей",13,2),new h("уй",13,2),new h("л",-1,1),new h("ил",16,2),new h("ыл",16,2),new h("ем",-1,1),new h("им",-1,2),new h("ым",-1,2),new h("н",-1,1),new h("ен",22,2),new h("ло",-1,1),new h("ило",24,2),new h("ыло",24,2),new h("но",-1,1),new h("ено",27,2),new h("нно",27,1),new h("ет",-1,1),new h("ует",30,2),new h("ит",-1,2),new h("ыт",-1,2),new h("ют",-1,1),new h("уют",34,2),new h("ят",-1,2),new h("ны",-1,1),new h("ены",37,2),new h("ть",-1,1),new h("ить",39,2),new h("ыть",39,2),new h("ешь",-1,1),new h("ишь",-1,2),new h("ю",-1,2),new h("ую",44,2)],s=[new h("а",-1,1),new h("ев",-1,1),new h("ов",-1,1),new h("е",-1,1),new h("ие",3,1),new h("ье",3,1),new h("и",-1,1),new h("еи",6,1),new h("ии",6,1),new h("ами",6,1),new h("ями",6,1),new h("иями",10,1),new h("й",-1,1),new h("ей",12,1),new h("ией",13,1),new h("ий",12,1),new h("ой",12,1),new h("ам",-1,1),new h("ем",-1,1),new h("ием",18,1),new h("ом",-1,1),new h("ям",-1,1),new h("иям",21,1),new h("о",-1,1),new h("у",-1,1),new h("ах",-1,1),new h("ях",-1,1),new h("иях",26,1),new h("ы",-1,1),new h("ь",-1,1),new h("ю",-1,1),new h("ию",30,1),new h("ью",30,1),new h("я",-1,1),new h("ия",33,1),new h("ья",33,1)],o=[new h("ост",-1,1),new h("ость",-1,1)],c=[new h("ейше",-1,1),new h("н",-1,2),new h("ейш",-1,1),new h("ь",-1,3)],m=[33,65,8,232],l=new g;function f(){for(;!l.in_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function a(){for(;!l.out_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function p(e,n){var r,t;if(l.ket=l.cursor,r=l.find_among_b(e,n)){switch(l.bra=l.cursor,r){case 1:if(t=l.limit-l.cursor,!l.eq_s_b(1,"а")&&(l.cursor=l.limit-t,!l.eq_s_b(1,"я")))return!1;case 2:l.slice_del()}return!0}return!1}function d(e,n){var r;return l.ket=l.cursor,!!(r=l.find_among_b(e,n))&&(l.bra=l.cursor,1==r&&l.slice_del(),!0)}function _(){return!!d(t,26)&&(p(w,8),!0)}function b(){var e;l.ket=l.cursor,(e=l.find_among_b(o,2))&&(l.bra=l.cursor,n<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){return e=l.limit,n=e,f()&&(e=l.cursor,a()&&f()&&a()&&(n=l.cursor)),l.cursor=l.limit,!(l.cursor>3]&1<<(7&s))return this.cursor++,!0}return!1},in_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(s<=i&&t<=s&&r[(s-=t)>>3]&1<<(7&s))return this.cursor--,!0}return!1},out_grouping:function(r,t,i){if(this.cursor>3]&1<<(7&s)))return this.cursor++,!0}return!1},out_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(i>3]&1<<(7&s)))return this.cursor--,!0}return!1},eq_s:function(r,t){if(this.limit-this.cursor>1),a=0,f=u=(l=r[i]).s_size){if(this.cursor=e+l.s_size,!l.method)return l.result;var m=l.method();if(this.cursor=e+l.s_size,m)return l.result}if((i=l.substring_i)<0)return 0}},find_among_b:function(r,t){for(var i=0,s=t,e=this.cursor,n=this.limit_backward,u=0,o=0,h=!1;;){for(var c=i+(s-i>>1),a=0,f=u=(_=r[i]).s_size){if(this.cursor=e-_.s_size,!_.method)return _.result;var m=_.method();if(this.cursor=e-_.s_size,m)return _.result}if((i=_.substring_i)<0)return 0}},replace_s:function(r,t,i){var s=i.length-(t-r);return b=b.substring(0,r)+i+b.substring(t),this.limit+=s,this.cursor>=t?this.cursor+=s:this.cursor>r&&(this.cursor=r),s},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>b.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),b.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.sv.js b/docs/_build/html/_static/javascripts/lunr/lunr.sv.js deleted file mode 100644 index 6daf5f9d..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.sv.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,l,n;e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=(r=e.stemmerSupport.Among,l=e.stemmerSupport.SnowballProgram,n=new function(){var n,t,i=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],s=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],a=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],o=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],u=[119,127,149],m=new l;this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e,r=m.cursor;return function(){var e,r=m.cursor+3;if(t=m.limit,0<=r||r<=m.limit){for(n=r;;){if(e=m.cursor,m.in_grouping(o,97,246)){m.cursor=e;break}if(m.cursor=e,m.cursor>=m.limit)return;m.cursor++}for(;!m.out_grouping(o,97,246);){if(m.cursor>=m.limit)return;m.cursor++}(t=m.cursor)=t&&(m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(i,37),m.limit_backward=r,e))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.in_grouping_b(u,98,121)&&m.slice_del()}}(),m.cursor=m.limit,e=m.limit_backward,m.cursor>=t&&(m.limit_backward=t,m.cursor=m.limit,m.find_among_b(s,7)&&(m.cursor=m.limit,m.ket=m.cursor,m.cursor>m.limit_backward&&(m.bra=--m.cursor,m.slice_del())),m.limit_backward=e),m.cursor=m.limit,function(){var e,r;if(m.cursor>=t){if(r=m.limit_backward,m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(a,5))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.slice_from("lös");break;case 3:m.slice_from("full")}m.limit_backward=r}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.th.js b/docs/_build/html/_static/javascripts/lunr/lunr.th.js deleted file mode 100644 index ee8ef373..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.th.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(t){if(void 0===t)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===t.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==t.version[0];t.th=function(){this.pipeline.reset(),this.pipeline.add(t.th.trimmer),i?this.tokenizer=t.th.tokenizer:(t.tokenizer&&(t.tokenizer=t.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=t.th.tokenizer))},t.th.wordCharacters="[฀-๿]",t.th.trimmer=t.trimmerSupport.generateTrimmer(t.th.wordCharacters),t.Pipeline.registerFunction(t.th.trimmer,"trimmer-th");var n=t.wordcut;n.init(),t.th.tokenizer=function(e){if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return i?new t.Token(e):e});var r=e.toString().replace(/^\s+/,"");return n.cut(r).split("|")}}}); \ No newline at end of file diff --git a/docs/_build/html/_static/javascripts/lunr/lunr.tr.js b/docs/_build/html/_static/javascripts/lunr/lunr.tr.js deleted file mode 100644 index e8fb5a7d..00000000 --- a/docs/_build/html/_static/javascripts/lunr/lunr.tr.js +++ /dev/null @@ -1 +0,0 @@ -!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var mr,dr,i;r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=(mr=r.stemmerSupport.Among,dr=r.stemmerSupport.SnowballProgram,i=new function(){var t,r=[new mr("m",-1,-1),new mr("n",-1,-1),new mr("miz",-1,-1),new mr("niz",-1,-1),new mr("muz",-1,-1),new mr("nuz",-1,-1),new mr("müz",-1,-1),new mr("nüz",-1,-1),new mr("mız",-1,-1),new mr("nız",-1,-1)],i=[new mr("leri",-1,-1),new mr("ları",-1,-1)],e=[new mr("ni",-1,-1),new mr("nu",-1,-1),new mr("nü",-1,-1),new mr("nı",-1,-1)],n=[new mr("in",-1,-1),new mr("un",-1,-1),new mr("ün",-1,-1),new mr("ın",-1,-1)],u=[new mr("a",-1,-1),new mr("e",-1,-1)],o=[new mr("na",-1,-1),new mr("ne",-1,-1)],s=[new mr("da",-1,-1),new mr("ta",-1,-1),new mr("de",-1,-1),new mr("te",-1,-1)],c=[new mr("nda",-1,-1),new mr("nde",-1,-1)],l=[new mr("dan",-1,-1),new mr("tan",-1,-1),new mr("den",-1,-1),new mr("ten",-1,-1)],a=[new mr("ndan",-1,-1),new mr("nden",-1,-1)],m=[new mr("la",-1,-1),new mr("le",-1,-1)],d=[new mr("ca",-1,-1),new mr("ce",-1,-1)],f=[new mr("im",-1,-1),new mr("um",-1,-1),new mr("üm",-1,-1),new mr("ım",-1,-1)],b=[new mr("sin",-1,-1),new mr("sun",-1,-1),new mr("sün",-1,-1),new mr("sın",-1,-1)],w=[new mr("iz",-1,-1),new mr("uz",-1,-1),new mr("üz",-1,-1),new mr("ız",-1,-1)],_=[new mr("siniz",-1,-1),new mr("sunuz",-1,-1),new mr("sünüz",-1,-1),new mr("sınız",-1,-1)],k=[new mr("lar",-1,-1),new mr("ler",-1,-1)],p=[new mr("niz",-1,-1),new mr("nuz",-1,-1),new mr("nüz",-1,-1),new mr("nız",-1,-1)],g=[new mr("dir",-1,-1),new mr("tir",-1,-1),new mr("dur",-1,-1),new mr("tur",-1,-1),new mr("dür",-1,-1),new mr("tür",-1,-1),new mr("dır",-1,-1),new mr("tır",-1,-1)],y=[new mr("casına",-1,-1),new mr("cesine",-1,-1)],z=[new mr("di",-1,-1),new mr("ti",-1,-1),new mr("dik",-1,-1),new mr("tik",-1,-1),new mr("duk",-1,-1),new mr("tuk",-1,-1),new mr("dük",-1,-1),new mr("tük",-1,-1),new mr("dık",-1,-1),new mr("tık",-1,-1),new mr("dim",-1,-1),new mr("tim",-1,-1),new mr("dum",-1,-1),new mr("tum",-1,-1),new mr("düm",-1,-1),new mr("tüm",-1,-1),new mr("dım",-1,-1),new mr("tım",-1,-1),new mr("din",-1,-1),new mr("tin",-1,-1),new mr("dun",-1,-1),new mr("tun",-1,-1),new mr("dün",-1,-1),new mr("tün",-1,-1),new mr("dın",-1,-1),new mr("tın",-1,-1),new mr("du",-1,-1),new mr("tu",-1,-1),new mr("dü",-1,-1),new mr("tü",-1,-1),new mr("dı",-1,-1),new mr("tı",-1,-1)],h=[new mr("sa",-1,-1),new mr("se",-1,-1),new mr("sak",-1,-1),new mr("sek",-1,-1),new mr("sam",-1,-1),new mr("sem",-1,-1),new mr("san",-1,-1),new mr("sen",-1,-1)],v=[new mr("miş",-1,-1),new mr("muş",-1,-1),new mr("müş",-1,-1),new mr("mış",-1,-1)],q=[new mr("b",-1,1),new mr("c",-1,2),new mr("d",-1,3),new mr("ğ",-1,4)],C=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],P=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],F=[65],S=[65],W=[["a",[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["e",[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],101,252],["ı",[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["i",[17],101,105],["o",F,111,117],["ö",S,246,252],["u",F,111,117]],L=new dr;function x(r,i,e){for(;;){var n=L.limit-L.cursor;if(L.in_grouping_b(r,i,e)){L.cursor=L.limit-n;break}if(L.cursor=L.limit-n,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}function A(){var r,i;r=L.limit-L.cursor,x(C,97,305);for(var e=0;eL.limit_backward&&(L.cursor--,e=L.limit-L.cursor,i()))?(L.cursor=L.limit-e,!0):(L.cursor=L.limit-n,r()?(L.cursor=L.limit-n,!1):(L.cursor=L.limit-n,!(L.cursor<=L.limit_backward)&&(L.cursor--,!!i()&&(L.cursor=L.limit-n,!0))))}function j(r){return E(r,function(){return L.in_grouping_b(C,97,305)})}function T(){return j(function(){return L.eq_s_b(1,"n")})}function Z(){return j(function(){return L.eq_s_b(1,"y")})}function B(){return L.find_among_b(r,10)&&E(function(){return L.in_grouping_b(P,105,305)},function(){return L.out_grouping_b(C,97,305)})}function D(){return A()&&L.in_grouping_b(P,105,305)&&j(function(){return L.eq_s_b(1,"s")})}function G(){return L.find_among_b(i,2)}function H(){return A()&&L.find_among_b(n,4)&&T()}function I(){return A()&&L.find_among_b(s,4)}function J(){return A()&&L.find_among_b(c,2)}function K(){return A()&&L.find_among_b(f,4)&&Z()}function M(){return A()&&L.find_among_b(b,4)}function N(){return A()&&L.find_among_b(w,4)&&Z()}function O(){return L.find_among_b(_,4)}function Q(){return A()&&L.find_among_b(k,2)}function R(){return A()&&L.find_among_b(g,8)}function U(){return A()&&L.find_among_b(z,32)&&Z()}function V(){return L.find_among_b(h,8)&&Z()}function X(){return A()&&L.find_among_b(v,4)&&Z()}function Y(){var r=L.limit-L.cursor;return!(X()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,L.eq_s_b(3,"ken")&&Z()))))}function $(){if(L.find_among_b(y,2)){var r=L.limit-L.cursor;if(O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X())return!1}return!0}function rr(){if(!A()||!L.find_among_b(p,4))return!0;var r=L.limit-L.cursor;return!U()&&(L.cursor=L.limit-r,!V())}function ir(){var r,i,e,n=L.limit-L.cursor;if(L.ket=L.cursor,t=!0,Y()&&(L.cursor=L.limit-n,$()&&(L.cursor=L.limit-n,function(){if(Q()){L.bra=L.cursor,L.slice_del();var r=L.limit-L.cursor;return L.ket=L.cursor,R()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,X()||(L.cursor=L.limit-r)))),t=!1}return!0}()&&(L.cursor=L.limit-n,rr()&&(L.cursor=L.limit-n,e=L.limit-L.cursor,!(O()||(L.cursor=L.limit-e,N()||(L.cursor=L.limit-e,M()||(L.cursor=L.limit-e,K()))))||(L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,X()||(L.cursor=L.limit-i),0)))))){if(L.cursor=L.limit-n,!R())return;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X()||(L.cursor=L.limit-r)}L.bra=L.cursor,L.slice_del()}function er(){var r,i,e,n;if(L.ket=L.cursor,L.eq_s_b(2,"ki")){if(r=L.limit-L.cursor,I())return L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()?(L.bra=L.cursor,L.slice_del(),er()):(L.cursor=L.limit-i,B()&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))),!0;if(L.cursor=L.limit-r,H()){if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,e=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-e,L.ket=L.cursor,!B()&&(L.cursor=L.limit-e,!D()&&(L.cursor=L.limit-e,!er())))return!0;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}return!0}if(L.cursor=L.limit-r,J()){if(n=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-n,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-n,!er())return!1;return!0}}return!1}function nr(r){if(L.ket=L.cursor,!J()&&(L.cursor=L.limit-r,!A()||!L.find_among_b(o,2)))return!1;var i=L.limit-L.cursor;if(G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-i,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-i,!er())return!1;return!0}function tr(r){if(L.ket=L.cursor,!(A()&&L.find_among_b(a,2)||(L.cursor=L.limit-r,A()&&L.find_among_b(e,4))))return!1;var i=L.limit-L.cursor;return!(!D()&&(L.cursor=L.limit-i,!G()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()),!0)}function ur(){var r,i=L.limit-L.cursor;return L.ket=L.cursor,!!(H()||(L.cursor=L.limit-i,A()&&L.find_among_b(m,2)&&Z()))&&(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,!(!Q()||(L.bra=L.cursor,L.slice_del(),!er()))||(L.cursor=L.limit-r,L.ket=L.cursor,(B()||(L.cursor=L.limit-r,D()||(L.cursor=L.limit-r,er())))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())),!0))}function or(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,!(I()||(L.cursor=L.limit-e,A()&&L.in_grouping_b(P,105,305)&&Z()||(L.cursor=L.limit-e,A()&&L.find_among_b(u,2)&&Z()))))return!1;if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,B())L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()||(L.cursor=L.limit-i);else if(L.cursor=L.limit-r,!Q())return!0;return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,er(),!0}function sr(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,Q())return L.bra=L.cursor,L.slice_del(),void er();if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(d,2)&&T())if(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-r,L.ket=L.cursor,!B()&&(L.cursor=L.limit-r,!D())){if(L.cursor=L.limit-r,L.ket=L.cursor,!Q())return;if(L.bra=L.cursor,L.slice_del(),!er())return}L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}else if(L.cursor=L.limit-e,!nr(e)&&(L.cursor=L.limit-e,!tr(e))){if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(l,4))return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,i=L.limit-L.cursor,void(B()?(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())):(L.cursor=L.limit-i,Q()?(L.bra=L.cursor,L.slice_del()):L.cursor=L.limit-i,er()));if(L.cursor=L.limit-e,!ur()){if(L.cursor=L.limit-e,G())return L.bra=L.cursor,void L.slice_del();L.cursor=L.limit-e,er()||(L.cursor=L.limit-e,or()||(L.cursor=L.limit-e,L.ket=L.cursor,(B()||(L.cursor=L.limit-e,D()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))))}}}function cr(r,i,e){if(L.cursor=L.limit-r,function(){for(;;){var r=L.limit-L.cursor;if(L.in_grouping_b(C,97,305)){L.cursor=L.limit-r;break}if(L.cursor=L.limit-r,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}()){var n=L.limit-L.cursor;if(!L.eq_s_b(1,i)&&(L.cursor=L.limit-n,!L.eq_s_b(1,e)))return!0;L.cursor=L.limit-r;var t=L.cursor;return L.insert(L.cursor,L.cursor,e),L.cursor=t,!1}return!0}function lr(r,i,e){for(;!L.eq_s(i,e);){if(L.cursor>=L.limit)return!0;L.cursor++}return i!=L.limit||(L.cursor=r,!1)}function ar(){var r,i,e=L.cursor;return!(!lr(r=L.cursor,2,"ad")||!lr(L.cursor=r,5,"soyad"))&&(L.limit_backward=e,L.cursor=L.limit,i=L.limit-L.cursor,(L.eq_s_b(1,"d")||(L.cursor=L.limit-i,L.eq_s_b(1,"g")))&&cr(i,"a","ı")&&cr(i,"e","i")&&cr(i,"o","u")&&cr(i,"ö","ü"),L.cursor=L.limit,function(){var r;if(L.ket=L.cursor,r=L.find_among_b(q,4))switch(L.bra=L.cursor,r){case 1:L.slice_from("p");break;case 2:L.slice_from("ç");break;case 3:L.slice_from("t");break;case 4:L.slice_from("k")}}(),!0)}this.setCurrent=function(r){L.setCurrent(r)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){return!!(function(){for(var r,i=L.cursor,e=2;;){for(r=L.cursor;!L.in_grouping(C,97,305);){if(L.cursor>=L.limit)return L.cursor=r,!(0e&&(this._events[n].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[n].length),"function"==typeof console.trace&&console.trace()));return this},r.prototype.once=function(n,t){if(!a(t))throw TypeError("listener must be a function");var e=!1;function r(){this.removeListener(n,r),e||(e=!0,t.apply(this,arguments))}return r.listener=t,this.on(n,r),this},r.prototype.removeListener=function(n,t){var e,r,i,o;if(!a(t))throw TypeError("listener must be a function");if(!this._events||!this._events[n])return this;if(i=(e=this._events[n]).length,r=-1,e===t||a(e.listener)&&e.listener===t)delete this._events[n],this._events.removeListener&&this.emit("removeListener",n,t);else if(c(e)){for(o=i;0this.maxLength)return i();if(!this.stat&&p(this.cache,o)){var t=this.cache[o];if(Array.isArray(t)&&(t="DIR"),!n||"DIR"===t)return i(null,t);if(n&&"FILE"===t)return i()}var e=this.statCache[o];if(void 0!==e){if(!1===e)return i(null,e);var s=e.isDirectory()?"DIR":"FILE";return n&&"FILE"===s?i():i(null,s,e)}var a=this,c=d("stat\0"+o,function(n,e){{if(e&&e.isSymbolicLink())return u.stat(o,function(n,t){n?a._stat2(r,o,null,e,i):a._stat2(r,o,n,t,i)});a._stat2(r,o,n,e,i)}});c&&u.lstat(o,c)},b.prototype._stat2=function(n,t,e,r,i){if(e)return this.statCache[t]=!1,i();var o="/"===n.slice(-1);if(this.statCache[t]=r,"/"===t.slice(-1)&&!r.isDirectory())return i(null,!1,r);var s=r.isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||s,o&&"DIR"!==s?i():i(null,s,r)}}).call(this,_("_process"))},{"./common.js":15,"./sync.js":17,_process:24,assert:9,events:14,fs:12,inflight:18,inherits:19,minimatch:20,once:21,path:22,"path-is-absolute":23,util:28}],17:[function(e,r,n){(function(i){(r.exports=n).GlobSync=h;var s=e("fs"),c=e("minimatch"),g=(c.Minimatch,e("./glob.js").Glob,e("util"),e("path")),u=e("assert"),l=e("path-is-absolute"),t=e("./common.js"),o=(t.alphasort,t.alphasorti,t.setopts),a=t.ownProp,f=t.childrenIgnored;function n(n,t){if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");return new h(n,t).found}function h(n,t){if(!n)throw new Error("must provide pattern");if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof h))return new h(n,t);if(o(this,n,t),this.noprocess)return this;var e=this.minimatch.set.length;this.matches=new Array(e);for(var r=0;rthis.maxLength)return!1;if(!this.stat&&a(this.cache,t)){var r=this.cache[t];if(Array.isArray(r)&&(r="DIR"),!e||"DIR"===r)return r;if(e&&"FILE"===r)return!1}var i=this.statCache[t];if(!i){var o;try{o=s.lstatSync(t)}catch(n){return!1}if(o.isSymbolicLink())try{i=s.statSync(t)}catch(n){i=o}else i=o}r=(this.statCache[t]=i).isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||r,(!e||"DIR"===r)&&r},h.prototype._mark=function(n){return t.mark(this,n)},h.prototype._makeAbs=function(n){return t.makeAbs(this,n)}}).call(this,e("_process"))},{"./common.js":15,"./glob.js":16,_process:24,assert:9,fs:12,minimatch:20,path:22,"path-is-absolute":23,util:28}],18:[function(t,r,n){(function(s){var n=t("wrappy"),a=Object.create(null),e=t("once");r.exports=n(function(n,t){return a[n]?(a[n].push(t),null):(a[n]=[t],o=n,e(function n(){var t=a[o],e=t.length,r=function(n){for(var t=n.length,e=[],r=0;re?(t.splice(0,e),s.nextTick(function(){n.apply(null,r)})):delete a[o]}}));var o})}).call(this,t("_process"))},{_process:24,once:21,wrappy:29}],19:[function(n,t,e){"function"==typeof Object.create?t.exports=function(n,t){n.super_=t,n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(n,t){n.super_=t;var e=function(){};e.prototype=t.prototype,n.prototype=new e,n.prototype.constructor=n}},{}],20:[function(n,t,e){(t.exports=s).Minimatch=i;var u={sep:"/"};try{u=n("path")}catch(n){}var M=s.GLOBSTAR=i.GLOBSTAR={},r=n("brace-expansion"),C={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},P="[^/]",z=P+"*?",B="().*{}+?[]^$\\!".split("").reduce(function(n,t){return n[t]=!0,n},{});var l=/\/+/;function o(t,e){t=t||{},e=e||{};var r={};return Object.keys(e).forEach(function(n){r[n]=e[n]}),Object.keys(t).forEach(function(n){r[n]=t[n]}),r}function s(n,t,e){if("string"!=typeof t)throw new TypeError("glob pattern string required");return e||(e={}),!(!e.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===n:new i(t,e).match(n))}function i(n,t){if(!(this instanceof i))return new i(n,t);if("string"!=typeof n)throw new TypeError("glob pattern string required");t||(t={}),n=n.trim(),"/"!==u.sep&&(n=n.split(u.sep).join("/")),this.options=t,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function a(n,t){if(t||(t=this instanceof i?this.options:{}),void 0===(n=void 0===n?this.pattern:n))throw new TypeError("undefined pattern");return t.nobrace||!n.match(/\{.*\}/)?[n]:r(n)}s.filter=function(r,i){return i=i||{},function(n,t,e){return s(n,r,i)}},s.defaults=function(r){if(!r||!Object.keys(r).length)return s;var i=s,n=function(n,t,e){return i.minimatch(n,t,o(r,e))};return n.Minimatch=function(n,t){return new i.Minimatch(n,o(r,t))},n},i.defaults=function(n){return n&&Object.keys(n).length?s.defaults(n).Minimatch:i},i.prototype.debug=function(){},i.prototype.make=function(){if(this._made)return;var n=this.pattern,t=this.options;if(!t.nocomment&&"#"===n.charAt(0))return void(this.comment=!0);if(!n)return void(this.empty=!0);this.parseNegate();var e=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error);this.debug(this.pattern,e),e=this.globParts=e.map(function(n){return n.split(l)}),this.debug(this.pattern,e),e=e.map(function(n,t,e){return n.map(this.parse,this)},this),this.debug(this.pattern,e),e=e.filter(function(n){return-1===n.indexOf(!1)}),this.debug(this.pattern,e),this.set=e},i.prototype.parseNegate=function(){var n=this.pattern,t=!1,e=this.options,r=0;if(e.nonegate)return;for(var i=0,o=n.length;i>> no match, partial?",n,f,t,h),f!==s))}if("string"==typeof u?(c=r.nocase?l.toLowerCase()===u.toLowerCase():l===u,this.debug("string match",u,l,c)):(c=l.match(u),this.debug("pattern match",u,l,c)),!c)return!1}if(i===s&&o===a)return!0;if(i===s)return e;if(o===a)return i===s-1&&""===n[i];throw new Error("wtf?")}},{"brace-expansion":11,path:22}],21:[function(n,t,e){var r=n("wrappy");function i(n){var t=function(){return t.called?t.value:(t.called=!0,t.value=n.apply(this,arguments))};return t.called=!1,t}function o(n){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=n.apply(this,arguments)},e=n.name||"Function wrapped with `once`";return t.onceError=e+" shouldn't be called more than once",t.called=!1,t}t.exports=r(i),t.exports.strict=r(o),i.proto=i(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return i(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})})},{wrappy:29}],22:[function(n,t,u){(function(i){function o(n,t){for(var e=0,r=n.length-1;0<=r;r--){var i=n[r];"."===i?n.splice(r,1):".."===i?(n.splice(r,1),e++):e&&(n.splice(r,1),e--)}if(t)for(;e--;e)n.unshift("..");return n}var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(n){return t.exec(n).slice(1)};function a(n,t){if(n.filter)return n.filter(t);for(var e=[],r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(N),F=function(t){var e=function(n){return t[n]},n="(?:"+d.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(n){return n=null==n?"":""+n,r.test(n)?n.replace(i,e):n}};d.escape=F(N),d.unescape=F(D),d.result=function(n,t,e){var r=null==n?void 0:n[t];return void 0===r&&(r=e),d.isFunction(r)?r.call(n):r};var M=0;d.uniqueId=function(n){var t=++M+"";return n?n+t:t},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},z=/\\|'|\r|\n|\u2028|\u2029/g,B=function(n){return"\\"+P[n]};d.template=function(o,n,t){!n&&t&&(n=t),n=d.defaults({},n,d.templateSettings);var e=RegExp([(n.escape||C).source,(n.interpolate||C).source,(n.evaluate||C).source].join("|")+"|$","g"),s=0,a="__p+='";o.replace(e,function(n,t,e,r,i){return a+=o.slice(s,i).replace(z,B),s=i+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?a+="'+\n((__t=("+e+"))==null?'':__t)+\n'":r&&(a+="';\n"+r+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var r=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var i=function(n){return r.call(this,n,d)},c=n.variable||"obj";return i.source="function("+c+"){\n"+a+"}",i},d.chain=function(n){var t=d(n);return t._chain=!0,t};var U=function(n,t){return n._chain?d(t).chain():t};d.mixin=function(e){d.each(d.functions(e),function(n){var t=d[n]=e[n];d.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),U(this,t.apply(d,n))}})},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=r[t];d.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],U(this,n)}}),d.each(["concat","join","slice"],function(n){var t=r[n];d.prototype[n]=function(){return U(this,t.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return""+this._wrapped}}).call(this)},{}],26:[function(n,t,e){arguments[4][19][0].apply(e,arguments)},{dup:19}],27:[function(n,t,e){t.exports=function(n){return n&&"object"==typeof n&&"function"==typeof n.copy&&"function"==typeof n.fill&&"function"==typeof n.readUInt8}},{}],28:[function(h,n,k){(function(r,i){var a=/%[sdj%]/g;k.format=function(n){if(!_(n)){for(var t=[],e=0;e+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.6.0.min.js"} \ No newline at end of file diff --git a/docs/_build/html/_static/language_data.js b/docs/_build/html/_static/language_data.js deleted file mode 100644 index 250f5665..00000000 --- a/docs/_build/html/_static/language_data.js +++ /dev/null @@ -1,199 +0,0 @@ -/* - * language_data.js - * ~~~~~~~~~~~~~~~~ - * - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, is available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/_build/html/_static/material.css b/docs/_build/html/_static/material.css deleted file mode 100644 index 5fa22e88..00000000 --- a/docs/_build/html/_static/material.css +++ /dev/null @@ -1,35 +0,0 @@ -.dropdown { - width: 125px; - vertical-align: middle; -} - -.dropdownbutton { - color: inherit; - font-weight: 700; - font-size: .65rem; - -} - -.dropdown-content { - display: none; - position: absolute; - z-index: 1; - background-color: inherit; -} - -.dropdown-content a { - display: block; - width: 125px; - margin: 8px; - font-size: .65rem; - font-weight: 200; -} - -/* Change color of dropdown links on hover */ -.dropdown-content a:hover {} - -/* Show the dropdown menu on hover */ -.dropdown:hover .dropdown-content {display: block;} - -/* Change the background color of the dropdown button when the dropdown content is shown */ -.dropdown:hover .dropbtn {} \ No newline at end of file diff --git a/docs/_build/html/_static/minus.png b/docs/_build/html/_static/minus.png deleted file mode 100644 index d96755fd..00000000 Binary files a/docs/_build/html/_static/minus.png and /dev/null differ diff --git a/docs/_build/html/_static/nbsphinx-broken-thumbnail.svg b/docs/_build/html/_static/nbsphinx-broken-thumbnail.svg deleted file mode 100644 index 4919ca88..00000000 --- a/docs/_build/html/_static/nbsphinx-broken-thumbnail.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/docs/_build/html/_static/nbsphinx-code-cells.css b/docs/_build/html/_static/nbsphinx-code-cells.css deleted file mode 100644 index a3fb27c3..00000000 --- a/docs/_build/html/_static/nbsphinx-code-cells.css +++ /dev/null @@ -1,259 +0,0 @@ -/* remove conflicting styling from Sphinx themes */ -div.nbinput.container div.prompt *, -div.nboutput.container div.prompt *, -div.nbinput.container div.input_area pre, -div.nboutput.container div.output_area pre, -div.nbinput.container div.input_area .highlight, -div.nboutput.container div.output_area .highlight { - border: none; - padding: 0; - margin: 0; - box-shadow: none; -} - -div.nbinput.container > div[class*=highlight], -div.nboutput.container > div[class*=highlight] { - margin: 0; -} - -div.nbinput.container div.prompt *, -div.nboutput.container div.prompt * { - background: none; -} - -div.nboutput.container div.output_area .highlight, -div.nboutput.container div.output_area pre { - background: unset; -} - -div.nboutput.container div.output_area div.highlight { - color: unset; /* override Pygments text color */ -} - -/* avoid gaps between output lines */ -div.nboutput.container div[class*=highlight] pre { - line-height: normal; -} - -/* input/output containers */ -div.nbinput.container, -div.nboutput.container { - display: -webkit-flex; - display: flex; - align-items: flex-start; - margin: 0; - width: 100%; -} -@media (max-width: 540px) { - div.nbinput.container, - div.nboutput.container { - flex-direction: column; - } -} - -/* input container */ -div.nbinput.container { - padding-top: 5px; -} - -/* last container */ -div.nblast.container { - padding-bottom: 5px; -} - -/* input prompt */ -div.nbinput.container div.prompt pre, -/* for sphinx_immaterial theme: */ -div.nbinput.container div.prompt pre > code { - color: #307FC1; -} - -/* output prompt */ -div.nboutput.container div.prompt pre, -/* for sphinx_immaterial theme: */ -div.nboutput.container div.prompt pre > code { - color: #BF5B3D; -} - -/* all prompts */ -div.nbinput.container div.prompt, -div.nboutput.container div.prompt { - width: 4.5ex; - padding-top: 5px; - position: relative; - user-select: none; -} - -div.nbinput.container div.prompt > div, -div.nboutput.container div.prompt > div { - position: absolute; - right: 0; - margin-right: 0.3ex; -} - -@media (max-width: 540px) { - div.nbinput.container div.prompt, - div.nboutput.container div.prompt { - width: unset; - text-align: left; - padding: 0.4em; - } - div.nboutput.container div.prompt.empty { - padding: 0; - } - - div.nbinput.container div.prompt > div, - div.nboutput.container div.prompt > div { - position: unset; - } -} - -/* disable scrollbars and line breaks on prompts */ -div.nbinput.container div.prompt pre, -div.nboutput.container div.prompt pre { - overflow: hidden; - white-space: pre; -} - -/* input/output area */ -div.nbinput.container div.input_area, -div.nboutput.container div.output_area { - -webkit-flex: 1; - flex: 1; - overflow: auto; -} -@media (max-width: 540px) { - div.nbinput.container div.input_area, - div.nboutput.container div.output_area { - width: 100%; - } -} - -/* input area */ -div.nbinput.container div.input_area { - border: 1px solid #e0e0e0; - border-radius: 2px; - /*background: #f5f5f5;*/ -} - -/* override MathJax center alignment in output cells */ -div.nboutput.container div[class*=MathJax] { - text-align: left !important; -} - -/* override sphinx.ext.imgmath center alignment in output cells */ -div.nboutput.container div.math p { - text-align: left; -} - -/* standard error */ -div.nboutput.container div.output_area.stderr { - background: #fdd; -} - -/* ANSI colors */ -.ansi-black-fg { color: #3E424D; } -.ansi-black-bg { background-color: #3E424D; } -.ansi-black-intense-fg { color: #282C36; } -.ansi-black-intense-bg { background-color: #282C36; } -.ansi-red-fg { color: #E75C58; } -.ansi-red-bg { background-color: #E75C58; } -.ansi-red-intense-fg { color: #B22B31; } -.ansi-red-intense-bg { background-color: #B22B31; } -.ansi-green-fg { color: #00A250; } -.ansi-green-bg { background-color: #00A250; } -.ansi-green-intense-fg { color: #007427; } -.ansi-green-intense-bg { background-color: #007427; } -.ansi-yellow-fg { color: #DDB62B; } -.ansi-yellow-bg { background-color: #DDB62B; } -.ansi-yellow-intense-fg { color: #B27D12; } -.ansi-yellow-intense-bg { background-color: #B27D12; } -.ansi-blue-fg { color: #208FFB; } -.ansi-blue-bg { background-color: #208FFB; } -.ansi-blue-intense-fg { color: #0065CA; } -.ansi-blue-intense-bg { background-color: #0065CA; } -.ansi-magenta-fg { color: #D160C4; } -.ansi-magenta-bg { background-color: #D160C4; } -.ansi-magenta-intense-fg { color: #A03196; } -.ansi-magenta-intense-bg { background-color: #A03196; } -.ansi-cyan-fg { color: #60C6C8; } -.ansi-cyan-bg { background-color: #60C6C8; } -.ansi-cyan-intense-fg { color: #258F8F; } -.ansi-cyan-intense-bg { background-color: #258F8F; } -.ansi-white-fg { color: #C5C1B4; } -.ansi-white-bg { background-color: #C5C1B4; } -.ansi-white-intense-fg { color: #A1A6B2; } -.ansi-white-intense-bg { background-color: #A1A6B2; } - -.ansi-default-inverse-fg { color: #FFFFFF; } -.ansi-default-inverse-bg { background-color: #000000; } - -.ansi-bold { font-weight: bold; } -.ansi-underline { text-decoration: underline; } - - -div.nbinput.container div.input_area div[class*=highlight] > pre, -div.nboutput.container div.output_area div[class*=highlight] > pre, -div.nboutput.container div.output_area div[class*=highlight].math, -div.nboutput.container div.output_area.rendered_html, -div.nboutput.container div.output_area > div.output_javascript, -div.nboutput.container div.output_area:not(.rendered_html) > img{ - padding: 5px; - margin: 0; -} - -/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */ -div.nbinput.container div.input_area > div[class^='highlight'], -div.nboutput.container div.output_area > div[class^='highlight']{ - overflow-y: hidden; -} - -/* hide copy button on prompts for 'sphinx_copybutton' extension ... */ -.prompt .copybtn, -/* ... and 'sphinx_immaterial' theme */ -.prompt .md-clipboard.md-icon { - display: none; -} - -/* Some additional styling taken form the Jupyter notebook CSS */ -.jp-RenderedHTMLCommon table, -div.rendered_html table { - border: none; - border-collapse: collapse; - border-spacing: 0; - color: black; - font-size: 12px; - table-layout: fixed; -} -.jp-RenderedHTMLCommon thead, -div.rendered_html thead { - border-bottom: 1px solid black; - vertical-align: bottom; -} -.jp-RenderedHTMLCommon tr, -.jp-RenderedHTMLCommon th, -.jp-RenderedHTMLCommon td, -div.rendered_html tr, -div.rendered_html th, -div.rendered_html td { - text-align: right; - vertical-align: middle; - padding: 0.5em 0.5em; - line-height: normal; - white-space: normal; - max-width: none; - border: none; -} -.jp-RenderedHTMLCommon th, -div.rendered_html th { - font-weight: bold; -} -.jp-RenderedHTMLCommon tbody tr:nth-child(odd), -div.rendered_html tbody tr:nth-child(odd) { - background: #f5f5f5; -} -.jp-RenderedHTMLCommon tbody tr:hover, -div.rendered_html tbody tr:hover { - background: rgba(66, 165, 245, 0.2); -} - diff --git a/docs/_build/html/_static/nbsphinx-gallery.css b/docs/_build/html/_static/nbsphinx-gallery.css deleted file mode 100644 index 365c27a9..00000000 --- a/docs/_build/html/_static/nbsphinx-gallery.css +++ /dev/null @@ -1,31 +0,0 @@ -.nbsphinx-gallery { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); - gap: 5px; - margin-top: 1em; - margin-bottom: 1em; -} - -.nbsphinx-gallery > a { - padding: 5px; - border: 1px dotted currentColor; - border-radius: 2px; - text-align: center; -} - -.nbsphinx-gallery > a:hover { - border-style: solid; -} - -.nbsphinx-gallery img { - max-width: 100%; - max-height: 100%; -} - -.nbsphinx-gallery > a > div:first-child { - display: flex; - align-items: start; - justify-content: center; - height: 120px; - margin-bottom: 5px; -} diff --git a/docs/_build/html/_static/nbsphinx-no-thumbnail.svg b/docs/_build/html/_static/nbsphinx-no-thumbnail.svg deleted file mode 100644 index 9dca7588..00000000 --- a/docs/_build/html/_static/nbsphinx-no-thumbnail.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/docs/_build/html/_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css b/docs/_build/html/_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css deleted file mode 100644 index 1b057df2..00000000 --- a/docs/_build/html/_static/panels-bootstrap.5fd3999ee7762ccc51105388f4a9d115.css +++ /dev/null @@ -1 +0,0 @@ -.badge{border-radius:.25rem;display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#007bff;color:#fff}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#0062cc;color:#fff;text-decoration:none}.badge-secondary{background-color:#6c757d;color:#fff}.badge-secondary[href]:focus,.badge-secondary[href]:hover{background-color:#545b62;color:#fff;text-decoration:none}.badge-success{background-color:#28a745;color:#fff}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#1e7e34;color:#fff;text-decoration:none}.badge-info{background-color:#17a2b8;color:#fff}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#117a8b;color:#fff;text-decoration:none}.badge-warning{background-color:#ffc107;color:#212529}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#d39e00;color:#212529;text-decoration:none}.badge-danger{background-color:#dc3545;color:#fff}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#bd2130;color:#fff;text-decoration:none}.badge-light{background-color:#f8f9fa;color:#212529}.badge-light[href]:focus,.badge-light[href]:hover{background-color:#dae0e5;color:#212529;text-decoration:none}.badge-dark{background-color:#343a40;color:#fff}.badge-dark[href]:focus,.badge-dark[href]:hover{background-color:#1d2124;color:#fff;text-decoration:none}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#212529;cursor:pointer;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;vertical-align:middle}.btn:hover{color:#212529;text-decoration:none}.btn:visited{color:#212529}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.25);outline:0}.btn.disabled,.btn:disabled{opacity:.65}@media (prefers-reduced-motion: reduce){.btn{transition:none}}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:visited{color:#fff}.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(0,123,255,0.5);color:#fff}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.active:not(:disabled):not(.disabled),.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-primary.active:not(:disabled):not(.disabled):focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:visited{color:#fff}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5);color:#fff}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.active:not(:disabled):not(.disabled),.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary.active:not(:disabled):not(.disabled):focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:visited{color:#fff}.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus{background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5);color:#fff}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.active:not(:disabled):not(.disabled),.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-success.active:not(:disabled):not(.disabled):focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:visited{color:#fff}.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus{background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5);color:#fff}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.active:not(:disabled):not(.disabled),.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-info.active:not(:disabled):not(.disabled):focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:visited{color:#212529}.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus{background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5);color:#212529}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.active:not(:disabled):not(.disabled),.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-warning.active:not(:disabled):not(.disabled):focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:visited{color:#fff}.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus{background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5);color:#fff}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.active:not(:disabled):not(.disabled),.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-danger.active:not(:disabled):not(.disabled):focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:visited{color:#212529}.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5);color:#212529}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.active:not(:disabled):not(.disabled),.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light.active:not(:disabled):not(.disabled):focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:visited{color:#fff}.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5);color:#fff}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.active:not(:disabled):not(.disabled),.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark.active:not(:disabled):not(.disabled):focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:visited{color:#007bff}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:transparent;color:#007bff}.btn-outline-primary.active:not(:disabled):not(.disabled),.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.active:not(:disabled):not(.disabled):focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,0.5)}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:visited{color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}.btn-outline-secondary.active:not(:disabled):not(.disabled),.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.active:not(:disabled):not(.disabled):focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success:visited{color:#28a745}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:transparent;color:#28a745}.btn-outline-success.active:not(:disabled):not(.disabled),.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.active:not(:disabled):not(.disabled):focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info:visited{color:#17a2b8}.btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:transparent;color:#17a2b8}.btn-outline-info.active:not(:disabled):not(.disabled),.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.active:not(:disabled):not(.disabled):focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning:visited{color:#ffc107}.btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:transparent;color:#ffc107}.btn-outline-warning.active:not(:disabled):not(.disabled),.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.active:not(:disabled):not(.disabled):focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:visited{color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:transparent;color:#dc3545}.btn-outline-danger.active:not(:disabled):not(.disabled),.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.active:not(:disabled):not(.disabled):focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:visited{color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}.btn-outline-light.active:not(:disabled):not(.disabled),.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.active:not(:disabled):not(.disabled):focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:visited{color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:transparent;color:#343a40}.btn-outline-dark.active:not(:disabled):not(.disabled),.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.active:not(:disabled):not(.disabled):focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-link{color:#007bff;font-weight:400;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{box-shadow:none;text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input.btn-block[type=button],input.btn-block[type=reset],input.btn-block[type=submit]{width:100%}.stretched-link::after{background-color:rgba(0,0,0,0);bottom:0;content:'';left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-wrap{white-space:normal !important}.card{background-clip:border-box;background-color:#fff;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.card>hr{margin-left:0;margin-right:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-bottom:0;margin-top:-.375rem}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem;margin-left:-.625rem;margin-right:-.625rem}.card-header-pills{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.w-100{width:100% !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.bg-primary{background-color:#007bff !important}button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc !important}a.bg-primary:focus,a.bg-primary:hover{background-color:#0062cc !important}a.text-primary:focus,a.text-primary:hover{color:#121416 !important}.bg-secondary{background-color:#6c757d !important}button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62 !important}a.bg-secondary:focus,a.bg-secondary:hover{background-color:#545b62 !important}a.text-secondary:focus,a.text-secondary:hover{color:#121416 !important}.bg-success{background-color:#28a745 !important}button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34 !important}a.bg-success:focus,a.bg-success:hover{background-color:#1e7e34 !important}a.text-success:focus,a.text-success:hover{color:#121416 !important}.bg-info{background-color:#17a2b8 !important}button.bg-info:focus,button.bg-info:hover{background-color:#117a8b !important}a.bg-info:focus,a.bg-info:hover{background-color:#117a8b !important}a.text-info:focus,a.text-info:hover{color:#121416 !important}.bg-warning{background-color:#ffc107 !important}button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00 !important}a.bg-warning:focus,a.bg-warning:hover{background-color:#d39e00 !important}a.text-warning:focus,a.text-warning:hover{color:#121416 !important}.bg-danger{background-color:#dc3545 !important}button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130 !important}a.bg-danger:focus,a.bg-danger:hover{background-color:#bd2130 !important}a.text-danger:focus,a.text-danger:hover{color:#121416 !important}.bg-light{background-color:#f8f9fa !important}button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5 !important}a.bg-light:focus,a.bg-light:hover{background-color:#dae0e5 !important}a.text-light:focus,a.text-light:hover{color:#121416 !important}.bg-dark{background-color:#343a40 !important}button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124 !important}a.bg-dark:focus,a.bg-dark:hover{background-color:#1d2124 !important}a.text-dark:focus,a.text-dark:hover{color:#121416 !important}.bg-white{background-color:#fff !important}button.bg-white:focus,button.bg-white:hover{background-color:#e6e6e6 !important}a.bg-white:focus,a.bg-white:hover{background-color:#e6e6e6 !important}a.text-white:focus,a.text-white:hover{color:#121416 !important}.text-primary{color:#007bff !important}.text-secondary{color:#6c757d !important}.text-success{color:#28a745 !important}.text-info{color:#17a2b8 !important}.text-warning{color:#ffc107 !important}.text-danger{color:#dc3545 !important}.text-light{color:#f8f9fa !important}.text-dark{color:#343a40 !important}.text-white{color:#fff !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.bg-transparent{background-color:transparent !important}.text-justify{text-align:justify !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width: 992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width: 1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-md-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;-ms-flex-positive:1;-ms-flex-preferred-size:0;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.d-flex{display:-ms-flexbox !important;display:flex !important}.sphinx-bs,.sphinx-bs *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sphinx-bs p{margin-top:0} diff --git a/docs/_build/html/_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css b/docs/_build/html/_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css deleted file mode 100644 index fc14abc8..00000000 --- a/docs/_build/html/_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css +++ /dev/null @@ -1 +0,0 @@ -details.dropdown .summary-title{padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.dropdown:hover{cursor:pointer}details.dropdown .summary-content{cursor:default}details.dropdown summary{list-style:none;padding:1em}details.dropdown summary .octicon.no-title{vertical-align:middle}details.dropdown[open] summary .octicon.no-title{visibility:hidden}details.dropdown summary::-webkit-details-marker{display:none}details.dropdown summary:focus{outline:none}details.dropdown summary:hover .summary-up svg,details.dropdown summary:hover .summary-down svg{opacity:1}details.dropdown .summary-up svg,details.dropdown .summary-down svg{display:block;opacity:.6}details.dropdown .summary-up,details.dropdown .summary-down{pointer-events:none;position:absolute;right:1em;top:.75em}details.dropdown[open] .summary-down{visibility:hidden}details.dropdown:not([open]) .summary-up{visibility:hidden}details.dropdown.fade-in[open] summary~*{-moz-animation:panels-fade-in .5s ease-in-out;-webkit-animation:panels-fade-in .5s ease-in-out;animation:panels-fade-in .5s ease-in-out}details.dropdown.fade-in-slide-down[open] summary~*{-moz-animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out;-webkit-animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out;animation:panels-fade-in .5s ease-in-out, panels-slide-down .5s ease-in-out}@keyframes panels-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes panels-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.octicon{display:inline-block;fill:currentColor;vertical-align:text-top}.tabbed-content{box-shadow:0 -.0625rem var(--tabs-color-overline),0 .0625rem var(--tabs-color-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.tabbed-content>:first-child{margin-top:0 !important}.tabbed-content>:last-child{margin-bottom:0 !important}.tabbed-content>.tabbed-set{margin:0}.tabbed-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.tabbed-set>input{opacity:0;position:absolute}.tabbed-set>input:checked+label{border-color:var(--tabs-color-label-active);color:var(--tabs-color-label-active)}.tabbed-set>input:checked+label+.tabbed-content{display:block}.tabbed-set>input:focus+label{outline-style:auto}.tabbed-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.tabbed-set>label{border-bottom:.125rem solid transparent;color:var(--tabs-color-label-inactive);cursor:pointer;font-size:var(--tabs-size-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .tabbed-set>label:hover{color:var(--tabs-color-label-active)} diff --git a/docs/_build/html/_static/panels-variables.06eb56fa6e07937060861dad626602ad.css b/docs/_build/html/_static/panels-variables.06eb56fa6e07937060861dad626602ad.css deleted file mode 100644 index adc61662..00000000 --- a/docs/_build/html/_static/panels-variables.06eb56fa6e07937060861dad626602ad.css +++ /dev/null @@ -1,7 +0,0 @@ -:root { ---tabs-color-label-active: hsla(231, 99%, 66%, 1); ---tabs-color-label-inactive: rgba(178, 206, 245, 0.62); ---tabs-color-overline: rgb(207, 236, 238); ---tabs-color-underline: rgb(207, 236, 238); ---tabs-size-label: 1rem; -} \ No newline at end of file diff --git a/docs/_build/html/_static/plus.png b/docs/_build/html/_static/plus.png deleted file mode 100644 index 7107cec9..00000000 Binary files a/docs/_build/html/_static/plus.png and /dev/null differ diff --git a/docs/_build/html/_static/pygments.css b/docs/_build/html/_static/pygments.css deleted file mode 100644 index 5a354d3c..00000000 --- a/docs/_build/html/_static/pygments.css +++ /dev/null @@ -1,74 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #008800; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #008800 } /* Comment.Preproc */ -.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #AA22FF } /* Keyword.Pseudo */ -.highlight .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BB4444 } /* Literal.String */ -.highlight .na { color: #BB4444 } /* Name.Attribute */ -.highlight .nb { color: #AA22FF } /* Name.Builtin */ -.highlight .nc { color: #0000FF } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #00A000 } /* Name.Function */ -.highlight .nl { color: #A0A000 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #B8860B } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mb { color: #666666 } /* Literal.Number.Bin */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sa { color: #BB4444 } /* Literal.String.Affix */ -.highlight .sb { color: #BB4444 } /* Literal.String.Backtick */ -.highlight .sc { color: #BB4444 } /* Literal.String.Char */ -.highlight .dl { color: #BB4444 } /* Literal.String.Delimiter */ -.highlight .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BB4444 } /* Literal.String.Double */ -.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BB4444 } /* Literal.String.Heredoc */ -.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ -.highlight .s1 { color: #BB4444 } /* Literal.String.Single */ -.highlight .ss { color: #B8860B } /* Literal.String.Symbol */ -.highlight .bp { color: #AA22FF } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #00A000 } /* Name.Function.Magic */ -.highlight .vc { color: #B8860B } /* Name.Variable.Class */ -.highlight .vg { color: #B8860B } /* Name.Variable.Global */ -.highlight .vi { color: #B8860B } /* Name.Variable.Instance */ -.highlight .vm { color: #B8860B } /* Name.Variable.Magic */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js deleted file mode 100644 index 7918c3fa..00000000 --- a/docs/_build/html/_static/searchtools.js +++ /dev/null @@ -1,574 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; - console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - // array of [docname, title, anchor, descr, score, filename] - let results = []; - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // lookup as object - objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - results = results.reverse(); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/_build/html/_static/sphinx_highlight.js b/docs/_build/html/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69a..00000000 --- a/docs/_build/html/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/docs/_build/html/_static/stylesheets/application-fixes.css b/docs/_build/html/_static/stylesheets/application-fixes.css deleted file mode 100644 index a65d194b..00000000 --- a/docs/_build/html/_static/stylesheets/application-fixes.css +++ /dev/null @@ -1,423 +0,0 @@ -.md-nav--primary ul, .md-nav--primary ul li ul, .md-nav--secondary ul, .md-nav--secondary ul li ul { - margin: 0; - padding: 0; - list-style: none -} - -.md-nav--primary ul li, .md-nav--primary ul li ul li, .md-nav--secondary ul li, .md-nav--secondary ul li ul li { - padding: 0 .6rem; -} - -.md-nav--primary a.reference, .md-nav--secondary a.reference { - display: block; - margin-top: .625em; - transition: color .125s; - text-overflow: ellipsis; - cursor: pointer; - overflow: hidden -} - -.md-typeset td p, .md-typeset th p { - margin: 0 -} - -.md-typeset .admonition, .md-typeset details { - font-size: 0.8rem -} - -.classifier:before { - font-style: normal; - margin: 0.5em; - content: ":"; -} - -dl.footnote > dt, dl.citation > dt { - float: left; -} - -code.xref { - background-color: transparent; - font-weight: bold; -} - -table.docutils { - width: 100%; -} - -.longtable tr td:first-child { - width: 50%; - white-space: nowrap; -} - -dt:target { - margin-top: -3.55rem; - padding-top: 3.45rem; -} - -.md-typeset code { - margin: 0 -} - -ul.search li div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -span.highlighted { - background-color: #fbe54e; -} - -p.rubric { - margin-top: 1rem; - font-weight: bold; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -table.longtable { - border-collapse: collapse; -} - -.longtable tr { - border: solid; - border-width: 1px 0; -} - -.longtable tr:first-child { - border-top: none; -} - -.md-tabs code, kbd, pre, .md-footer-nav code, kbd, pre { - color: rgb(255, 255, 255); -} - -.toctree-wrapper.compound li { - list-style: none; - padding: 0; - margin: 0 0 0.1rem 0.2rem; -} - -table.indextable.genindextable li { - margin: 0 0.5rem; -} - -table.indextable.genindextable li ul li { - list-style: none; -} - -p.highlight-link { - margin: 0.625rem 0 0 0; -} - -table.longtable.docutils.align-default { - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -@media only screen and (max-width: 40em) { - table.longtable.docutils.align-default { - display: block; - } - - .longtable.docutils.align-default td { - padding-right: 1rem; - } -} - -.md-nav__extra_link:after { - font-family: Material Icons; - font-style: normal; - font-variant: normal; - font-weight: 400; - line-height: 1; - text-transform: none; - white-space: nowrap; - speak: none; - word-wrap: normal; - direction: ltr -} - -.md-nav__extra_link { - display: block; - margin-top: .625em; - transition: color .125s; - text-overflow: ellipsis; - cursor: pointer; - overflow: hidden -} - -.md-nav__extra_link:active { - color: #3f51b5 -} - -.md-nav__extra_link:focus, .md-nav__extra_link:hover { - color: #536dfe -} - -@media only screen and (max-width: 76.1875em) { - .md-nav--primary .md-nav--secondary .md-nav__extra_link { - position: static - } - - .md-nav--primary .md-nav--secondary .md-nav .md-nav__extra_link { - padding-left: 1.4rem - } - - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__extra_link { - padding-left: 2.6rem - } -} - -[data-md-color-primary=red] .md-nav__extra_link:active { - color: #ef5350 -} - -[data-md-color-primary=red] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=pink] .md-nav__extra_link:active { - color: #e91e63 -} - -[data-md-color-primary=pink] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=purple] .md-nav__extra_link:active { - color: #ab47bc -} - -[data-md-color-primary=purple] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=deep-purple] .md-nav__extra_link:active { - color: #7e57c2 -} - -[data-md-color-primary=deep-purple] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=indigo] .md-nav__extra_link:active { - color: #3f51b5 -} - -[data-md-color-primary=indigo] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=blue] .md-nav__extra_link:active { - color: #2196f3 -} - -[data-md-color-primary=blue] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=light-blue] .md-nav__extra_link:active { - color: #03a9f4 -} - -[data-md-color-primary=light-blue] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=cyan] .md-nav__extra_link:active { - color: #00bcd4 -} - -[data-md-color-primary=cyan] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=teal] .md-nav__extra_link:active { - color: #009688 -} - -[data-md-color-primary=teal] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=green] .md-nav__extra_link:active { - color: #4caf50 -} - -[data-md-color-primary=green] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=light-green] .md-nav__extra_link:active { - color: #7cb342 -} - -[data-md-color-primary=light-green] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=lime] .md-nav__extra_link:active { - color: #c0ca33 -} - -[data-md-color-primary=lime] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=yellow] .md-nav__extra_link:active { - color: #f9a825 -} - -[data-md-color-primary=yellow] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=amber] .md-nav__extra_link:active { - color: #ffa000 -} - -[data-md-color-primary=amber] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=orange] .md-nav__extra_link:active { - color: #fb8c00 -} - -[data-md-color-primary=orange] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=deep-orange] .md-nav__extra_link:active { - color: #ff7043 -} - -[data-md-color-primary=deep-orange] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=brown] .md-nav__extra_link:active { - color: #795548 -} - -[data-md-color-primary=brown] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=grey] .md-nav__extra_link:active { - color: #757575 -} - -[data-md-color-primary=grey] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-primary=blue-grey] .md-nav__extra_link:active { - color: #546e7a -} - -[data-md-color-primary=blue-grey] .md-nav__item--nested > .md-nav__extra_link { - color: inherit -} - -[data-md-color-accent=red] .md-nav__extra_link:focus, [data-md-color-accent=red] .md-nav__extra_link:hover { - color: #ff1744 -} - -[data-md-color-accent=pink] .md-nav__extra_link:focus, [data-md-color-accent=pink] .md-nav__extra_link:hover { - color: #f50057 -} - -[data-md-color-accent=purple] .md-nav__extra_link:focus, [data-md-color-accent=purple] .md-nav__extra_link:hover { - color: #e040fb -} - -[data-md-color-accent=deep-purple] .md-nav__extra_link:focus, [data-md-color-accent=deep-purple] .md-nav__extra_link:hover { - color: #7c4dff -} - -[data-md-color-accent=indigo] .md-nav__extra_link:focus, [data-md-color-accent=indigo] .md-nav__extra_link:hover { - color: #536dfe -} - -[data-md-color-accent=blue] .md-nav__extra_link:focus, [data-md-color-accent=blue] .md-nav__extra_link:hover { - color: #448aff -} - -[data-md-color-accent=light-blue] .md-nav__extra_link:focus, [data-md-color-accent=light-blue] .md-nav__extra_link:hover { - color: #0091ea -} - -[data-md-color-accent=cyan] .md-nav__extra_link:focus, [data-md-color-accent=cyan] .md-nav__extra_link:hover { - color: #00b8d4 -} - -[data-md-color-accent=teal] .md-nav__extra_link:focus, [data-md-color-accent=teal] .md-nav__extra_link:hover { - color: #00bfa5 -} - -[data-md-color-accent=green] .md-nav__extra_link:focus, [data-md-color-accent=green] .md-nav__extra_link:hover { - color: #00c853 -} - -[data-md-color-accent=light-green] .md-nav__extra_link:focus, [data-md-color-accent=light-green] .md-nav__extra_link:hover { - color: #64dd17 -} - -[data-md-color-accent=lime] .md-nav__extra_link:focus, [data-md-color-accent=lime] .md-nav__extra_link:hover { - color: #aeea00 -} - -[data-md-color-accent=yellow] .md-nav__extra_link:focus, [data-md-color-accent=yellow] .md-nav__extra_link:hover { - color: #ffd600 -} - -[data-md-color-accent=amber] .md-nav__extra_link:focus, [data-md-color-accent=amber] .md-nav__extra_link:hover { - color: #ffab00 -} - -[data-md-color-accent=orange] .md-nav__extra_link:focus, [data-md-color-accent=orange] .md-nav__extra_link:hover { - color: #ff9100 -} - -[data-md-color-accent=deep-orange] .md-nav__extra_link:focus, [data-md-color-accent=deep-orange] .md-nav__extra_link:hover { - color: #ff6e40 -} - -div.rendered_html table { - font-size: 0.8rem !important; -} - -/* TODO: This is hacky; should have own class and not derive from link */ -.md-nav span.caption { - font-weight: 700; - pointer-events: none; -} - -.md-nav span.caption:hover, .md-nav span.caption:active { - color: #000; -} - -.md-typeset img.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -.md-typeset img.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -/* GH 93 */ -dl.citation dt span.brackets { - margin-right: 0.3rem; -} diff --git a/docs/_build/html/_static/stylesheets/application-palette.css b/docs/_build/html/_static/stylesheets/application-palette.css deleted file mode 100644 index 5eadc1c5..00000000 --- a/docs/_build/html/_static/stylesheets/application-palette.css +++ /dev/null @@ -1,1352 +0,0 @@ -button[data-md-color-accent], -button[data-md-color-primary] { - width: 6.5rem; - margin-bottom: .2rem; - padding: 1.2rem .4rem .2rem; - transition: background-color .25s, opacity .25s; - border-radius: .1rem; - color: #fff; - font-size: .64rem; - text-align: left; - cursor: pointer -} - -button[data-md-color-accent]:hover, -button[data-md-color-primary]:hover { - opacity: .75 -} - -button[data-md-color-primary=red] { - background-color: #ef5350 -} - -[data-md-color-primary=red] .md-typeset a { - color: #ef5350 -} - -[data-md-color-primary=red] .md-header, -[data-md-color-primary=red] .md-hero { - background-color: #ef5350 -} - -[data-md-color-primary=red] .md-nav__link--active, -[data-md-color-primary=red] .md-nav__link:active { - color: #ef5350 -} - -[data-md-color-primary=red] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=pink] { - background-color: #e91e63 -} - -[data-md-color-primary=pink] .md-typeset a { - color: #e91e63 -} - -[data-md-color-primary=pink] .md-header, -[data-md-color-primary=pink] .md-hero { - background-color: #e91e63 -} - -[data-md-color-primary=pink] .md-nav__link--active, -[data-md-color-primary=pink] .md-nav__link:active { - color: #e91e63 -} - -[data-md-color-primary=pink] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=purple] { - background-color: #ab47bc -} - -[data-md-color-primary=purple] .md-typeset a { - color: #ab47bc -} - -[data-md-color-primary=purple] .md-header, -[data-md-color-primary=purple] .md-hero { - background-color: #ab47bc -} - -[data-md-color-primary=purple] .md-nav__link--active, -[data-md-color-primary=purple] .md-nav__link:active { - color: #ab47bc -} - -[data-md-color-primary=purple] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=deep-purple] { - background-color: #7e57c2 -} - -[data-md-color-primary=deep-purple] .md-typeset a { - color: #7e57c2 -} - -[data-md-color-primary=deep-purple] .md-header, -[data-md-color-primary=deep-purple] .md-hero { - background-color: #7e57c2 -} - -[data-md-color-primary=deep-purple] .md-nav__link--active, -[data-md-color-primary=deep-purple] .md-nav__link:active { - color: #7e57c2 -} - -[data-md-color-primary=deep-purple] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=indigo] { - background-color: #3f51b5 -} - -[data-md-color-primary=indigo] .md-typeset a { - color: #3f51b5 -} - -[data-md-color-primary=indigo] .md-header, -[data-md-color-primary=indigo] .md-hero { - background-color: #3f51b5 -} - -[data-md-color-primary=indigo] .md-nav__link--active, -[data-md-color-primary=indigo] .md-nav__link:active { - color: #3f51b5 -} - -[data-md-color-primary=indigo] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=blue] { - background-color: #2196f3 -} - -[data-md-color-primary=blue] .md-typeset a { - color: #2196f3 -} - -[data-md-color-primary=blue] .md-header, -[data-md-color-primary=blue] .md-hero { - background-color: #2196f3 -} - -[data-md-color-primary=blue] .md-nav__link--active, -[data-md-color-primary=blue] .md-nav__link:active { - color: #2196f3 -} - -[data-md-color-primary=blue] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=light-blue] { - background-color: #03a9f4 -} - -[data-md-color-primary=light-blue] .md-typeset a { - color: #03a9f4 -} - -[data-md-color-primary=light-blue] .md-header, -[data-md-color-primary=light-blue] .md-hero { - background-color: #03a9f4 -} - -[data-md-color-primary=light-blue] .md-nav__link--active, -[data-md-color-primary=light-blue] .md-nav__link:active { - color: #03a9f4 -} - -[data-md-color-primary=light-blue] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=cyan] { - background-color: #00bcd4 -} - -[data-md-color-primary=cyan] .md-typeset a { - color: #00bcd4 -} - -[data-md-color-primary=cyan] .md-header, -[data-md-color-primary=cyan] .md-hero { - background-color: #00bcd4 -} - -[data-md-color-primary=cyan] .md-nav__link--active, -[data-md-color-primary=cyan] .md-nav__link:active { - color: #00bcd4 -} - -[data-md-color-primary=cyan] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=teal] { - background-color: #009688 -} - -[data-md-color-primary=teal] .md-typeset a { - color: #009688 -} - -[data-md-color-primary=teal] .md-header, -[data-md-color-primary=teal] .md-hero { - background-color: #009688 -} - -[data-md-color-primary=teal] .md-nav__link--active, -[data-md-color-primary=teal] .md-nav__link:active { - color: #009688 -} - -[data-md-color-primary=teal] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=green] { - background-color: #4caf50 -} - -[data-md-color-primary=green] .md-typeset a { - color: #4caf50 -} - -[data-md-color-primary=green] .md-header, -[data-md-color-primary=green] .md-hero { - background-color: #4caf50 -} - -[data-md-color-primary=green] .md-nav__link--active, -[data-md-color-primary=green] .md-nav__link:active { - color: #4caf50 -} - -[data-md-color-primary=green] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=light-green] { - background-color: #7cb342 -} - -[data-md-color-primary=light-green] .md-typeset a { - color: #7cb342 -} - -[data-md-color-primary=light-green] .md-header, -[data-md-color-primary=light-green] .md-hero { - background-color: #7cb342 -} - -[data-md-color-primary=light-green] .md-nav__link--active, -[data-md-color-primary=light-green] .md-nav__link:active { - color: #7cb342 -} - -[data-md-color-primary=light-green] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=lime] { - background-color: #c0ca33 -} - -[data-md-color-primary=lime] .md-typeset a { - color: #c0ca33 -} - -[data-md-color-primary=lime] .md-header, -[data-md-color-primary=lime] .md-hero { - background-color: #c0ca33 -} - -[data-md-color-primary=lime] .md-nav__link--active, -[data-md-color-primary=lime] .md-nav__link:active { - color: #c0ca33 -} - -[data-md-color-primary=lime] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=yellow] { - background-color: #f9a825 -} - -[data-md-color-primary=yellow] .md-typeset a { - color: #f9a825 -} - -[data-md-color-primary=yellow] .md-header, -[data-md-color-primary=yellow] .md-hero { - background-color: #f9a825 -} - -[data-md-color-primary=yellow] .md-nav__link--active, -[data-md-color-primary=yellow] .md-nav__link:active { - color: #f9a825 -} - -[data-md-color-primary=yellow] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=amber] { - background-color: #ffa000 -} - -[data-md-color-primary=amber] .md-typeset a { - color: #ffa000 -} - -[data-md-color-primary=amber] .md-header, -[data-md-color-primary=amber] .md-hero { - background-color: #ffa000 -} - -[data-md-color-primary=amber] .md-nav__link--active, -[data-md-color-primary=amber] .md-nav__link:active { - color: #ffa000 -} - -[data-md-color-primary=amber] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=orange] { - background-color: #fb8c00 -} - -[data-md-color-primary=orange] .md-typeset a { - color: #fb8c00 -} - -[data-md-color-primary=orange] .md-header, -[data-md-color-primary=orange] .md-hero { - background-color: #fb8c00 -} - -[data-md-color-primary=orange] .md-nav__link--active, -[data-md-color-primary=orange] .md-nav__link:active { - color: #fb8c00 -} - -[data-md-color-primary=orange] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=deep-orange] { - background-color: #ff7043 -} - -[data-md-color-primary=deep-orange] .md-typeset a { - color: #ff7043 -} - -[data-md-color-primary=deep-orange] .md-header, -[data-md-color-primary=deep-orange] .md-hero { - background-color: #ff7043 -} - -[data-md-color-primary=deep-orange] .md-nav__link--active, -[data-md-color-primary=deep-orange] .md-nav__link:active { - color: #ff7043 -} - -[data-md-color-primary=deep-orange] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=brown] { - background-color: #795548 -} - -[data-md-color-primary=brown] .md-typeset a { - color: #795548 -} - -[data-md-color-primary=brown] .md-header, -[data-md-color-primary=brown] .md-hero { - background-color: #795548 -} - -[data-md-color-primary=brown] .md-nav__link--active, -[data-md-color-primary=brown] .md-nav__link:active { - color: #795548 -} - -[data-md-color-primary=brown] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=grey] { - background-color: #757575 -} - -[data-md-color-primary=grey] .md-typeset a { - color: #757575 -} - -[data-md-color-primary=grey] .md-header, -[data-md-color-primary=grey] .md-hero { - background-color: #757575 -} - -[data-md-color-primary=grey] .md-nav__link--active, -[data-md-color-primary=grey] .md-nav__link:active { - color: #757575 -} - -[data-md-color-primary=grey] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=blue-grey] { - background-color: #546e7a -} - -[data-md-color-primary=blue-grey] .md-typeset a { - color: #546e7a -} - -[data-md-color-primary=blue-grey] .md-header, -[data-md-color-primary=blue-grey] .md-hero { - background-color: #546e7a -} - -[data-md-color-primary=blue-grey] .md-nav__link--active, -[data-md-color-primary=blue-grey] .md-nav__link:active { - color: #546e7a -} - -[data-md-color-primary=blue-grey] .md-nav__item--nested>.md-nav__link { - color: inherit -} - -button[data-md-color-primary=white] { - box-shadow: inset 0 0 .05rem rgba(0, 0, 0, .54) -} - -[data-md-color-primary=white] .md-header, -[data-md-color-primary=white] .md-hero, -button[data-md-color-primary=white] { - background-color: #fff; - color: rgba(0, 0, 0, .87) -} - -[data-md-color-primary=white] .md-hero--expand { - border-bottom: .05rem solid rgba(0, 0, 0, .07) -} - -button[data-md-color-accent=red] { - background-color: #ff1744 -} - -[data-md-color-accent=red] .md-typeset a:active, -[data-md-color-accent=red] .md-typeset a:hover { - color: #ff1744 -} - -[data-md-color-accent=red] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=red] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #ff1744 -} - -[data-md-color-accent=red] .md-nav__link:focus, -[data-md-color-accent=red] .md-nav__link:hover, -[data-md-color-accent=red] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=red] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=red] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=red] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=red] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=red] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=red] .md-typeset [id]:target .headerlink { - color: #ff1744 -} - -[data-md-color-accent=red] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff1744 -} - -[data-md-color-accent=red] .md-search-result__link:hover, -[data-md-color-accent=red] .md-search-result__link[data-md-state=active] { - background-color: rgba(255, 23, 68, .1) -} - -[data-md-color-accent=red] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff1744 -} - -[data-md-color-accent=red] .md-source-file:hover:before { - background-color: #ff1744 -} - -button[data-md-color-accent=pink] { - background-color: #f50057 -} - -[data-md-color-accent=pink] .md-typeset a:active, -[data-md-color-accent=pink] .md-typeset a:hover { - color: #f50057 -} - -[data-md-color-accent=pink] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=pink] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #f50057 -} - -[data-md-color-accent=pink] .md-nav__link:focus, -[data-md-color-accent=pink] .md-nav__link:hover, -[data-md-color-accent=pink] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=pink] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=pink] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=pink] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=pink] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=pink] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=pink] .md-typeset [id]:target .headerlink { - color: #f50057 -} - -[data-md-color-accent=pink] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #f50057 -} - -[data-md-color-accent=pink] .md-search-result__link:hover, -[data-md-color-accent=pink] .md-search-result__link[data-md-state=active] { - background-color: rgba(245, 0, 87, .1) -} - -[data-md-color-accent=pink] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #f50057 -} - -[data-md-color-accent=pink] .md-source-file:hover:before { - background-color: #f50057 -} - -button[data-md-color-accent=purple] { - background-color: #e040fb -} - -[data-md-color-accent=purple] .md-typeset a:active, -[data-md-color-accent=purple] .md-typeset a:hover { - color: #e040fb -} - -[data-md-color-accent=purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #e040fb -} - -[data-md-color-accent=purple] .md-nav__link:focus, -[data-md-color-accent=purple] .md-nav__link:hover, -[data-md-color-accent=purple] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=purple] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=purple] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=purple] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=purple] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=purple] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=purple] .md-typeset [id]:target .headerlink { - color: #e040fb -} - -[data-md-color-accent=purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #e040fb -} - -[data-md-color-accent=purple] .md-search-result__link:hover, -[data-md-color-accent=purple] .md-search-result__link[data-md-state=active] { - background-color: rgba(224, 64, 251, .1) -} - -[data-md-color-accent=purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #e040fb -} - -[data-md-color-accent=purple] .md-source-file:hover:before { - background-color: #e040fb -} - -button[data-md-color-accent=deep-purple] { - background-color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-typeset a:active, -[data-md-color-accent=deep-purple] .md-typeset a:hover { - color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=deep-purple] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-nav__link:focus, -[data-md-color-accent=deep-purple] .md-nav__link:hover, -[data-md-color-accent=deep-purple] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=deep-purple] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=deep-purple] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=deep-purple] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=deep-purple] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=deep-purple] .md-typeset [id]:target .headerlink { - color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-search-result__link:hover, -[data-md-color-accent=deep-purple] .md-search-result__link[data-md-state=active] { - background-color: rgba(124, 77, 255, .1) -} - -[data-md-color-accent=deep-purple] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #7c4dff -} - -[data-md-color-accent=deep-purple] .md-source-file:hover:before { - background-color: #7c4dff -} - -button[data-md-color-accent=indigo] { - background-color: #536dfe -} - -[data-md-color-accent=indigo] .md-typeset a:active, -[data-md-color-accent=indigo] .md-typeset a:hover { - color: #536dfe -} - -[data-md-color-accent=indigo] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=indigo] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #536dfe -} - -[data-md-color-accent=indigo] .md-nav__link:focus, -[data-md-color-accent=indigo] .md-nav__link:hover, -[data-md-color-accent=indigo] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=indigo] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=indigo] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=indigo] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=indigo] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=indigo] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=indigo] .md-typeset [id]:target .headerlink { - color: #536dfe -} - -[data-md-color-accent=indigo] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #536dfe -} - -[data-md-color-accent=indigo] .md-search-result__link:hover, -[data-md-color-accent=indigo] .md-search-result__link[data-md-state=active] { - background-color: rgba(83, 109, 254, .1) -} - -[data-md-color-accent=indigo] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #536dfe -} - -[data-md-color-accent=indigo] .md-source-file:hover:before { - background-color: #536dfe -} - -button[data-md-color-accent=blue] { - background-color: #448aff -} - -[data-md-color-accent=blue] .md-typeset a:active, -[data-md-color-accent=blue] .md-typeset a:hover { - color: #448aff -} - -[data-md-color-accent=blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #448aff -} - -[data-md-color-accent=blue] .md-nav__link:focus, -[data-md-color-accent=blue] .md-nav__link:hover, -[data-md-color-accent=blue] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=blue] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=blue] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=blue] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=blue] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=blue] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=blue] .md-typeset [id]:target .headerlink { - color: #448aff -} - -[data-md-color-accent=blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #448aff -} - -[data-md-color-accent=blue] .md-search-result__link:hover, -[data-md-color-accent=blue] .md-search-result__link[data-md-state=active] { - background-color: rgba(68, 138, 255, .1) -} - -[data-md-color-accent=blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #448aff -} - -[data-md-color-accent=blue] .md-source-file:hover:before { - background-color: #448aff -} - -button[data-md-color-accent=light-blue] { - background-color: #0091ea -} - -[data-md-color-accent=light-blue] .md-typeset a:active, -[data-md-color-accent=light-blue] .md-typeset a:hover { - color: #0091ea -} - -[data-md-color-accent=light-blue] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=light-blue] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #0091ea -} - -[data-md-color-accent=light-blue] .md-nav__link:focus, -[data-md-color-accent=light-blue] .md-nav__link:hover, -[data-md-color-accent=light-blue] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=light-blue] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=light-blue] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=light-blue] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=light-blue] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=light-blue] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=light-blue] .md-typeset [id]:target .headerlink { - color: #0091ea -} - -[data-md-color-accent=light-blue] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #0091ea -} - -[data-md-color-accent=light-blue] .md-search-result__link:hover, -[data-md-color-accent=light-blue] .md-search-result__link[data-md-state=active] { - background-color: rgba(0, 145, 234, .1) -} - -[data-md-color-accent=light-blue] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #0091ea -} - -[data-md-color-accent=light-blue] .md-source-file:hover:before { - background-color: #0091ea -} - -button[data-md-color-accent=cyan] { - background-color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-typeset a:active, -[data-md-color-accent=cyan] .md-typeset a:hover { - color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=cyan] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-nav__link:focus, -[data-md-color-accent=cyan] .md-nav__link:hover, -[data-md-color-accent=cyan] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=cyan] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=cyan] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=cyan] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=cyan] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=cyan] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=cyan] .md-typeset [id]:target .headerlink { - color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-search-result__link:hover, -[data-md-color-accent=cyan] .md-search-result__link[data-md-state=active] { - background-color: rgba(0, 184, 212, .1) -} - -[data-md-color-accent=cyan] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00b8d4 -} - -[data-md-color-accent=cyan] .md-source-file:hover:before { - background-color: #00b8d4 -} - -button[data-md-color-accent=teal] { - background-color: #00bfa5 -} - -[data-md-color-accent=teal] .md-typeset a:active, -[data-md-color-accent=teal] .md-typeset a:hover { - color: #00bfa5 -} - -[data-md-color-accent=teal] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=teal] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #00bfa5 -} - -[data-md-color-accent=teal] .md-nav__link:focus, -[data-md-color-accent=teal] .md-nav__link:hover, -[data-md-color-accent=teal] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=teal] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=teal] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=teal] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=teal] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=teal] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=teal] .md-typeset [id]:target .headerlink { - color: #00bfa5 -} - -[data-md-color-accent=teal] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00bfa5 -} - -[data-md-color-accent=teal] .md-search-result__link:hover, -[data-md-color-accent=teal] .md-search-result__link[data-md-state=active] { - background-color: rgba(0, 191, 165, .1) -} - -[data-md-color-accent=teal] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00bfa5 -} - -[data-md-color-accent=teal] .md-source-file:hover:before { - background-color: #00bfa5 -} - -button[data-md-color-accent=green] { - background-color: #00c853 -} - -[data-md-color-accent=green] .md-typeset a:active, -[data-md-color-accent=green] .md-typeset a:hover { - color: #00c853 -} - -[data-md-color-accent=green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=green] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #00c853 -} - -[data-md-color-accent=green] .md-nav__link:focus, -[data-md-color-accent=green] .md-nav__link:hover, -[data-md-color-accent=green] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=green] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=green] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=green] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=green] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=green] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=green] .md-typeset [id]:target .headerlink { - color: #00c853 -} - -[data-md-color-accent=green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00c853 -} - -[data-md-color-accent=green] .md-search-result__link:hover, -[data-md-color-accent=green] .md-search-result__link[data-md-state=active] { - background-color: rgba(0, 200, 83, .1) -} - -[data-md-color-accent=green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #00c853 -} - -[data-md-color-accent=green] .md-source-file:hover:before { - background-color: #00c853 -} - -button[data-md-color-accent=light-green] { - background-color: #64dd17 -} - -[data-md-color-accent=light-green] .md-typeset a:active, -[data-md-color-accent=light-green] .md-typeset a:hover { - color: #64dd17 -} - -[data-md-color-accent=light-green] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=light-green] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #64dd17 -} - -[data-md-color-accent=light-green] .md-nav__link:focus, -[data-md-color-accent=light-green] .md-nav__link:hover, -[data-md-color-accent=light-green] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=light-green] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=light-green] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=light-green] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=light-green] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=light-green] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=light-green] .md-typeset [id]:target .headerlink { - color: #64dd17 -} - -[data-md-color-accent=light-green] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #64dd17 -} - -[data-md-color-accent=light-green] .md-search-result__link:hover, -[data-md-color-accent=light-green] .md-search-result__link[data-md-state=active] { - background-color: rgba(100, 221, 23, .1) -} - -[data-md-color-accent=light-green] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #64dd17 -} - -[data-md-color-accent=light-green] .md-source-file:hover:before { - background-color: #64dd17 -} - -button[data-md-color-accent=lime] { - background-color: #aeea00 -} - -[data-md-color-accent=lime] .md-typeset a:active, -[data-md-color-accent=lime] .md-typeset a:hover { - color: #aeea00 -} - -[data-md-color-accent=lime] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=lime] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #aeea00 -} - -[data-md-color-accent=lime] .md-nav__link:focus, -[data-md-color-accent=lime] .md-nav__link:hover, -[data-md-color-accent=lime] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=lime] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=lime] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=lime] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=lime] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=lime] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=lime] .md-typeset [id]:target .headerlink { - color: #aeea00 -} - -[data-md-color-accent=lime] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #aeea00 -} - -[data-md-color-accent=lime] .md-search-result__link:hover, -[data-md-color-accent=lime] .md-search-result__link[data-md-state=active] { - background-color: rgba(174, 234, 0, .1) -} - -[data-md-color-accent=lime] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #aeea00 -} - -[data-md-color-accent=lime] .md-source-file:hover:before { - background-color: #aeea00 -} - -button[data-md-color-accent=yellow] { - background-color: #ffd600 -} - -[data-md-color-accent=yellow] .md-typeset a:active, -[data-md-color-accent=yellow] .md-typeset a:hover { - color: #ffd600 -} - -[data-md-color-accent=yellow] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=yellow] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #ffd600 -} - -[data-md-color-accent=yellow] .md-nav__link:focus, -[data-md-color-accent=yellow] .md-nav__link:hover, -[data-md-color-accent=yellow] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=yellow] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=yellow] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=yellow] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=yellow] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=yellow] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=yellow] .md-typeset [id]:target .headerlink { - color: #ffd600 -} - -[data-md-color-accent=yellow] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ffd600 -} - -[data-md-color-accent=yellow] .md-search-result__link:hover, -[data-md-color-accent=yellow] .md-search-result__link[data-md-state=active] { - background-color: rgba(255, 214, 0, .1) -} - -[data-md-color-accent=yellow] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ffd600 -} - -[data-md-color-accent=yellow] .md-source-file:hover:before { - background-color: #ffd600 -} - -button[data-md-color-accent=amber] { - background-color: #ffab00 -} - -[data-md-color-accent=amber] .md-typeset a:active, -[data-md-color-accent=amber] .md-typeset a:hover { - color: #ffab00 -} - -[data-md-color-accent=amber] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=amber] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #ffab00 -} - -[data-md-color-accent=amber] .md-nav__link:focus, -[data-md-color-accent=amber] .md-nav__link:hover, -[data-md-color-accent=amber] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=amber] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=amber] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=amber] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=amber] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=amber] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=amber] .md-typeset [id]:target .headerlink { - color: #ffab00 -} - -[data-md-color-accent=amber] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ffab00 -} - -[data-md-color-accent=amber] .md-search-result__link:hover, -[data-md-color-accent=amber] .md-search-result__link[data-md-state=active] { - background-color: rgba(255, 171, 0, .1) -} - -[data-md-color-accent=amber] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ffab00 -} - -[data-md-color-accent=amber] .md-source-file:hover:before { - background-color: #ffab00 -} - -button[data-md-color-accent=orange] { - background-color: #ff9100 -} - -[data-md-color-accent=orange] .md-typeset a:active, -[data-md-color-accent=orange] .md-typeset a:hover { - color: #ff9100 -} - -[data-md-color-accent=orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #ff9100 -} - -[data-md-color-accent=orange] .md-nav__link:focus, -[data-md-color-accent=orange] .md-nav__link:hover, -[data-md-color-accent=orange] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=orange] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=orange] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=orange] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=orange] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=orange] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=orange] .md-typeset [id]:target .headerlink { - color: #ff9100 -} - -[data-md-color-accent=orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff9100 -} - -[data-md-color-accent=orange] .md-search-result__link:hover, -[data-md-color-accent=orange] .md-search-result__link[data-md-state=active] { - background-color: rgba(255, 145, 0, .1) -} - -[data-md-color-accent=orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff9100 -} - -[data-md-color-accent=orange] .md-source-file:hover:before { - background-color: #ff9100 -} - -button[data-md-color-accent=deep-orange] { - background-color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-typeset a:active, -[data-md-color-accent=deep-orange] .md-typeset a:hover { - color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, -[data-md-color-accent=deep-orange] .md-typeset pre code::-webkit-scrollbar-thumb:hover { - background-color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-nav__link:focus, -[data-md-color-accent=deep-orange] .md-nav__link:hover, -[data-md-color-accent=deep-orange] .md-typeset .footnote li:hover .footnote-backref:hover, -[data-md-color-accent=deep-orange] .md-typeset .footnote li:target .footnote-backref, -[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:active:before, -[data-md-color-accent=deep-orange] .md-typeset .md-clipboard:hover:before, -[data-md-color-accent=deep-orange] .md-typeset [id] .headerlink:focus, -[data-md-color-accent=deep-orange] .md-typeset [id]:hover .headerlink:hover, -[data-md-color-accent=deep-orange] .md-typeset [id]:target .headerlink { - color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-search__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-search-result__link:hover, -[data-md-color-accent=deep-orange] .md-search-result__link[data-md-state=active] { - background-color: rgba(255, 110, 64, .1) -} - -[data-md-color-accent=deep-orange] .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover { - background-color: #ff6e40 -} - -[data-md-color-accent=deep-orange] .md-source-file:hover:before { - background-color: #ff6e40 -} - -@media only screen and (max-width:59.9375em) { - [data-md-color-primary=red] .md-nav__source { - background-color: rgba(190, 66, 64, .9675) - } - [data-md-color-primary=pink] .md-nav__source { - background-color: rgba(185, 24, 79, .9675) - } - [data-md-color-primary=purple] .md-nav__source { - background-color: rgba(136, 57, 150, .9675) - } - [data-md-color-primary=deep-purple] .md-nav__source { - background-color: rgba(100, 69, 154, .9675) - } - [data-md-color-primary=indigo] .md-nav__source { - background-color: rgba(50, 64, 144, .9675) - } - [data-md-color-primary=blue] .md-nav__source { - background-color: rgba(26, 119, 193, .9675) - } - [data-md-color-primary=light-blue] .md-nav__source { - background-color: rgba(2, 134, 194, .9675) - } - [data-md-color-primary=cyan] .md-nav__source { - background-color: rgba(0, 150, 169, .9675) - } - [data-md-color-primary=teal] .md-nav__source { - background-color: rgba(0, 119, 108, .9675) - } - [data-md-color-primary=green] .md-nav__source { - background-color: rgba(60, 139, 64, .9675) - } - [data-md-color-primary=light-green] .md-nav__source { - background-color: rgba(99, 142, 53, .9675) - } - [data-md-color-primary=lime] .md-nav__source { - background-color: rgba(153, 161, 41, .9675) - } - [data-md-color-primary=yellow] .md-nav__source { - background-color: rgba(198, 134, 29, .9675) - } - [data-md-color-primary=amber] .md-nav__source { - background-color: rgba(203, 127, 0, .9675) - } - [data-md-color-primary=orange] .md-nav__source { - background-color: rgba(200, 111, 0, .9675) - } - [data-md-color-primary=deep-orange] .md-nav__source { - background-color: rgba(203, 89, 53, .9675) - } - [data-md-color-primary=brown] .md-nav__source { - background-color: rgba(96, 68, 57, .9675) - } - [data-md-color-primary=grey] .md-nav__source { - background-color: rgba(93, 93, 93, .9675) - } - [data-md-color-primary=blue-grey] .md-nav__source { - background-color: rgba(67, 88, 97, .9675) - } - [data-md-color-primary=white] .md-nav__source { - background-color: rgba(0, 0, 0, .07); - color: rgba(0, 0, 0, .87) - } -} - -@media only screen and (max-width:76.1875em) { - html [data-md-color-primary=red] .md-nav--primary .md-nav__title--site { - background-color: #ef5350 - } - html [data-md-color-primary=pink] .md-nav--primary .md-nav__title--site { - background-color: #e91e63 - } - html [data-md-color-primary=purple] .md-nav--primary .md-nav__title--site { - background-color: #ab47bc - } - html [data-md-color-primary=deep-purple] .md-nav--primary .md-nav__title--site { - background-color: #7e57c2 - } - html [data-md-color-primary=indigo] .md-nav--primary .md-nav__title--site { - background-color: #3f51b5 - } - html [data-md-color-primary=blue] .md-nav--primary .md-nav__title--site { - background-color: #2196f3 - } - html [data-md-color-primary=light-blue] .md-nav--primary .md-nav__title--site { - background-color: #03a9f4 - } - html [data-md-color-primary=cyan] .md-nav--primary .md-nav__title--site { - background-color: #00bcd4 - } - html [data-md-color-primary=teal] .md-nav--primary .md-nav__title--site { - background-color: #009688 - } - html [data-md-color-primary=green] .md-nav--primary .md-nav__title--site { - background-color: #4caf50 - } - html [data-md-color-primary=light-green] .md-nav--primary .md-nav__title--site { - background-color: #7cb342 - } - html [data-md-color-primary=lime] .md-nav--primary .md-nav__title--site { - background-color: #c0ca33 - } - html [data-md-color-primary=yellow] .md-nav--primary .md-nav__title--site { - background-color: #f9a825 - } - html [data-md-color-primary=amber] .md-nav--primary .md-nav__title--site { - background-color: #ffa000 - } - html [data-md-color-primary=orange] .md-nav--primary .md-nav__title--site { - background-color: #fb8c00 - } - html [data-md-color-primary=deep-orange] .md-nav--primary .md-nav__title--site { - background-color: #ff7043 - } - html [data-md-color-primary=brown] .md-nav--primary .md-nav__title--site { - background-color: #795548 - } - html [data-md-color-primary=grey] .md-nav--primary .md-nav__title--site { - background-color: #757575 - } - html [data-md-color-primary=blue-grey] .md-nav--primary .md-nav__title--site { - background-color: #546e7a - } - html [data-md-color-primary=white] .md-nav--primary .md-nav__title--site { - background-color: #fff; - color: rgba(0, 0, 0, .87) - } - [data-md-color-primary=white] .md-hero { - border-bottom: .05rem solid rgba(0, 0, 0, .07) - } -} - -@media only screen and (min-width:76.25em) { - [data-md-color-primary=red] .md-tabs { - background-color: #ef5350 - } - [data-md-color-primary=pink] .md-tabs { - background-color: #e91e63 - } - [data-md-color-primary=purple] .md-tabs { - background-color: #ab47bc - } - [data-md-color-primary=deep-purple] .md-tabs { - background-color: #7e57c2 - } - [data-md-color-primary=indigo] .md-tabs { - background-color: #3f51b5 - } - [data-md-color-primary=blue] .md-tabs { - background-color: #2196f3 - } - [data-md-color-primary=light-blue] .md-tabs { - background-color: #03a9f4 - } - [data-md-color-primary=cyan] .md-tabs { - background-color: #00bcd4 - } - [data-md-color-primary=teal] .md-tabs { - background-color: #009688 - } - [data-md-color-primary=green] .md-tabs { - background-color: #4caf50 - } - [data-md-color-primary=light-green] .md-tabs { - background-color: #7cb342 - } - [data-md-color-primary=lime] .md-tabs { - background-color: #c0ca33 - } - [data-md-color-primary=yellow] .md-tabs { - background-color: #f9a825 - } - [data-md-color-primary=amber] .md-tabs { - background-color: #ffa000 - } - [data-md-color-primary=orange] .md-tabs { - background-color: #fb8c00 - } - [data-md-color-primary=deep-orange] .md-tabs { - background-color: #ff7043 - } - [data-md-color-primary=brown] .md-tabs { - background-color: #795548 - } - [data-md-color-primary=grey] .md-tabs { - background-color: #757575 - } - [data-md-color-primary=blue-grey] .md-tabs { - background-color: #546e7a - } - [data-md-color-primary=white] .md-tabs { - border-bottom: .05rem solid rgba(0, 0, 0, .07); - background-color: #fff; - color: rgba(0, 0, 0, .87) - } -} - -@media only screen and (min-width:60em) { - [data-md-color-primary=white] .md-search__input { - background-color: rgba(0, 0, 0, .07) - } - [data-md-color-primary=white] .md-search__input::-webkit-input-placeholder { - color: rgba(0, 0, 0, .54) - } - [data-md-color-primary=white] .md-search__input:-ms-input-placeholder { - color: rgba(0, 0, 0, .54) - } - [data-md-color-primary=white] .md-search__input::-ms-input-placeholder { - color: rgba(0, 0, 0, .54) - } - [data-md-color-primary=white] .md-search__input::placeholder { - color: rgba(0, 0, 0, .54) - } -} diff --git a/docs/_build/html/_static/stylesheets/application.css b/docs/_build/html/_static/stylesheets/application.css deleted file mode 100644 index 4abdd66d..00000000 --- a/docs/_build/html/_static/stylesheets/application.css +++ /dev/null @@ -1,2871 +0,0 @@ -@charset "UTF-8"; -html{ - box-sizing:border-box -} -*,:after,:before{ - box-sizing:inherit -} -html{ - -webkit-text-size-adjust:none; - -moz-text-size-adjust:none; - -ms-text-size-adjust:none; - text-size-adjust:none -} -body{ - margin:0 -} -hr{ - overflow:visible; - box-sizing:content-box -} -a{ - -webkit-text-decoration-skip:objects -} -a,button,input,label{ - -webkit-tap-highlight-color:transparent -} -a{ - color:inherit; - text-decoration:none -} -small,sub,sup{ - font-size:80% -} -sub,sup{ - position:relative; - line-height:0; - vertical-align:baseline -} -sub{ - bottom:-.25em -} -sup{ - top:-.5em -} -img{ - border-style:none -} -table{ - border-collapse:separate; - border-spacing:0 -} -td,th{ - font-weight:400; - vertical-align:top -} -button{ - margin:0; - padding:0; - border:0; - outline-style:none; - background:transparent; - font-size:inherit -} -input{ - border:0; - outline:0 -} -.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{ - font-family:Material Icons; - font-style:normal; - font-variant:normal; - font-weight:400; - line-height:1; - text-transform:none; - white-space:nowrap; - speak:none; - word-wrap:normal; - direction:ltr -} -.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{ - display:inline-block; - margin:.2rem; - padding:.4rem; - font-size:1.2rem; - cursor:pointer -} -.md-icon--arrow-back:before{ - content:"" -} -.md-icon--arrow-forward:before{ - content:"" -} -.md-icon--menu:before{ - content:"" -} -.md-icon--search:before{ - content:"" -} -[dir=rtl] .md-icon--arrow-back:before{ - content:"" -} -[dir=rtl] .md-icon--arrow-forward:before{ - content:"" -} -body{ - -webkit-font-smoothing:antialiased; - -moz-osx-font-smoothing:grayscale -} -body,input{ - color:rgba(0,0,0,.87); - -webkit-font-feature-settings:"kern","liga"; - font-feature-settings:"kern","liga"; - font-family:"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; -} -code,kbd,pre{ - color:rgba(0,0,0,.87); - -webkit-font-feature-settings:"kern"; - font-feature-settings:"kern"; - font-family:"Roboto Mono", "Courier New", Courier, monospace; -} -.md-typeset{ - font-size:.8rem; - line-height:1.6; - -webkit-print-color-adjust:exact -} -.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{ - margin:1em 0 -} -.md-typeset h1{ - margin:0 0 2rem; - color:rgba(0,0,0,.54); - font-size:1.5625rem; - line-height:1.3 -} -.md-typeset h1,.md-typeset h2{ - font-weight:300; - letter-spacing:-.01em -} -.md-typeset h2{ - margin:2rem 0 .8rem; - font-size:1.25rem; - line-height:1.4 -} -.md-typeset h3{ - margin:1.6rem 0 .8rem; - font-size:1rem; - font-weight:400; - letter-spacing:-.01em; - line-height:1.5 -} -.md-typeset h2+h3{ - margin-top:.8rem -} -.md-typeset h4{ - font-size:.8rem -} -.md-typeset h4,.md-typeset h5,.md-typeset h6{ - margin:.8rem 0; - font-weight:700; - letter-spacing:-.01em -} -.md-typeset h5,.md-typeset h6{ - color:rgba(0,0,0,.54); - font-size:.64rem -} -.md-typeset h5{ - text-transform:uppercase -} -.md-typeset hr{ - margin:1.5em 0; - border-bottom:.05rem dotted rgba(0,0,0,.26) -} -.md-typeset a{ - color:#3f51b5; - word-break:break-word -} -.md-typeset a,.md-typeset a:before{ - transition:color .125s -} -.md-typeset a:active,.md-typeset a:hover{ - color:#536dfe -} -.md-typeset code,.md-typeset pre{ - background-color:hsla(0,0%,92.5%,.5); - color:#37474f; - font-size:85%; - direction:ltr -} -.md-typeset code{ - margin:0 .29412em; - padding:.07353em 0; - border-radius:.1rem; - word-break:break-word; - -webkit-box-decoration-break:clone; - box-decoration-break:clone -} -/* TODO: Reverted from #35, needs a different fix -.md-typeset code::before { - content: "\00a0"; -} -.md-typeset code::after { - content: "\00a0"; -} -*/ -.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{ - margin:0; - background-color:transparent; - box-shadow:none -} -.md-typeset a>code{ - margin:inherit; - padding:inherit; - border-radius:initial; - background-color:inherit; - color:inherit; - box-shadow:none -} -.md-typeset pre{ - position:relative; - margin:1em 0; - border-radius:.1rem; - line-height:1.4; - -webkit-overflow-scrolling:touch -} -.md-typeset pre>code{ - /* - See GH #32 - display:block; - */ - margin:0; - padding:.525rem .6rem; - background-color:transparent; - font-size:inherit; - box-shadow:none; - -webkit-box-decoration-break:slice; - box-decoration-break:slice; - overflow:auto -} -.md-typeset pre>code::-webkit-scrollbar{ - width:.2rem; - height:.2rem -} -.md-typeset pre>code::-webkit-scrollbar-thumb{ - background-color:rgba(0,0,0,.26) -} -.md-typeset pre>code::-webkit-scrollbar-thumb:hover{ - background-color:#536dfe -} -.md-typeset kbd{ - padding:0 .29412em; - border-radius:.15rem; - border:.05rem solid #c9c9c9; - border-bottom-color:#bcbcbc; - background-color:#fcfcfc; - color:#555; - font-size:85%; - box-shadow:0 .05rem 0 #b0b0b0; - word-break:break-word -} -.md-typeset mark{ - margin:0 .25em; - padding:.0625em 0; - border-radius:.1rem; - background-color:rgba(255,235,59,.5); - box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5); - word-break:break-word; - -webkit-box-decoration-break:clone; - box-decoration-break:clone -} -.md-typeset abbr{ - border-bottom:.05rem dotted rgba(0,0,0,.54); - text-decoration:none; - cursor:help -} -.md-typeset small{ - opacity:.75 -} -.md-typeset sub,.md-typeset sup{ - margin-left:.07812em -} -[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{ - margin-right:.07812em; - margin-left:0 -} -.md-typeset blockquote{ - padding-left:.6rem; - border-left:.2rem solid rgba(0,0,0,.26); - color:rgba(0,0,0,.54) -} -[dir=rtl] .md-typeset blockquote{ - padding-right:.6rem; - padding-left:0; - border-right:.2rem solid rgba(0,0,0,.26); - border-left:initial -} -.md-typeset ul{ - list-style-type:disc -} -.md-typeset ol,.md-typeset ul{ - margin-left:.625em; - padding:0 -} -[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{ - margin-right:.625em; - margin-left:0 -} -.md-typeset ol ol,.md-typeset ul ol{ - list-style-type:lower-alpha -} -.md-typeset ol ol ol,.md-typeset ul ol ol{ - list-style-type:lower-roman -} -.md-typeset ol li,.md-typeset ul li{ - margin-bottom:.5em; - margin-left:1.25em -} -[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{ - margin-right:1.25em; - margin-left:0 -} -.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{ - margin:.5em 0 -} -.md-typeset ol li:last-child,.md-typeset ul li:last-child{ - margin-bottom:0 -} -.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{ - margin:.5em 0 .5em .625em -} -[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{ - margin-right:.625em; - margin-left:0 -} -.md-typeset dd{ - margin:1em 0 1em 1.875em -} -[dir=rtl] .md-typeset dd{ - margin-right:1.875em; - margin-left:0 -} -.md-typeset iframe,.md-typeset img,.md-typeset svg{ - max-width:100% -} -.md-typeset table:not([class]){ - box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2); - display:inline-block; - max-width:100%; - border-radius:.1rem; - font-size:.64rem; - overflow:auto; - -webkit-overflow-scrolling:touch -} -.md-typeset table:not([class])+*{ - margin-top:1.5em -} -.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){ - text-align:left -} -[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){ - text-align:right -} -.md-typeset table:not([class]) th{ - min-width:5rem; - padding:.6rem .8rem; - background-color:rgba(0,0,0,.54); - color:#fff; - vertical-align:top -} -.md-typeset table:not([class]) td{ - padding:.6rem .8rem; - border-top:.05rem solid rgba(0,0,0,.07); - vertical-align:top -} -.md-typeset table:not([class]) tr{ - transition:background-color .125s -} -.md-typeset table:not([class]) tr:hover{ - background-color:rgba(0,0,0,.035); - box-shadow:inset 0 .05rem 0 #fff -} -.md-typeset table:not([class]) tr:first-child td{ - border-top:0 -} -.md-typeset table:not([class]) a{ - word-break:normal -} -.md-typeset__scrollwrap{ - margin:1em -.8rem; - overflow-x:auto; - -webkit-overflow-scrolling:touch -} -.md-typeset .md-typeset__table{ - display:inline-block; - margin-bottom:.5em; - padding:0 .8rem -} -.md-typeset .md-typeset__table table{ - display:table; - width:100%; - margin:0; - overflow:hidden -} -html{ - font-size:125%; - overflow-x:hidden -} -body,html{ - height:100% -} -body{ - position:relative; - font-size:.5rem -} -hr{ - display:block; - height:.05rem; - padding:0; - border:0 -} -.md-svg{ - display:none -} -.md-grid{ - max-width:73rem; - margin-right:auto; - margin-left:auto -} -.md-container,.md-main{ - overflow:auto -} -.md-container{ - display:table; - width:100%; - height:100%; - padding-top:2.4rem; - table-layout:fixed -} -.md-main{ - display:table-row; - height:100% -} -.md-main__inner{ - height:100%; - padding-top:1.5rem; - padding-bottom:.05rem -} -.md-toggle{ - display:none -} -.md-overlay{ - position:fixed; - top:0; - width:0; - height:0; - transition:width 0s .25s,height 0s .25s,opacity .25s; - background-color:rgba(0,0,0,.54); - opacity:0; - z-index:3 -} -.md-flex{ - display:table -} -.md-flex__cell{ - display:table-cell; - position:relative; - vertical-align:top -} -.md-flex__cell--shrink{ - width:0 -} -.md-flex__cell--stretch{ - display:table; - width:100%; - table-layout:fixed -} -.md-flex__ellipsis{ - display:table-cell; - text-overflow:ellipsis; - white-space:nowrap; - overflow:hidden -} -.md-skip{ - position:fixed; - width:.05rem; - height:.05rem; - margin:.5rem; - padding:.3rem .5rem; - -webkit-transform:translateY(.4rem); - transform:translateY(.4rem); - border-radius:.1rem; - background-color:rgba(0,0,0,.87); - color:#fff; - font-size:.64rem; - opacity:0; - overflow:hidden -} -.md-skip:focus{ - width:auto; - height:auto; - clip:auto; - -webkit-transform:translateX(0); - transform:translateX(0); - transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms; - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - opacity:1; - z-index:10 -} -@page{ - margin:25mm -} -.md-clipboard{ - position:absolute; - top:.3rem; - right:.3rem; - width:1.4rem; - height:1.4rem; - border-radius:.1rem; - font-size:.8rem; - cursor:pointer; - z-index:1; - -webkit-backface-visibility:hidden; - backface-visibility:hidden -} -.md-clipboard:before{ - transition:color .25s,opacity .25s; - color:rgba(0,0,0,.07); - content:"\E14D" -} -.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{ - color:rgba(0,0,0,.54) -} -.md-clipboard:focus:before,.md-clipboard:hover:before{ - color:#536dfe -} -.md-clipboard__message{ - display:block; - position:absolute; - top:0; - right:1.7rem; - padding:.3rem .5rem; - -webkit-transform:translateX(.4rem); - transform:translateX(.4rem); - transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0); - transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s; - transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0); - border-radius:.1rem; - background-color:rgba(0,0,0,.54); - color:#fff; - font-size:.64rem; - white-space:nowrap; - opacity:0; - pointer-events:none -} -.md-clipboard__message--active{ - -webkit-transform:translateX(0); - transform:translateX(0); - transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms; - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - opacity:1; - pointer-events:auto -} -.md-clipboard__message:before{ - content:attr(aria-label) -} -.md-clipboard__message:after{ - display:block; - position:absolute; - top:50%; - right:-.2rem; - width:0; - margin-top:-.2rem; - border-color:transparent rgba(0,0,0,.54); - border-style:solid; - border-width:.2rem 0 .2rem .2rem; - content:"" -} -.md-content__inner{ - margin:0 .8rem 1.2rem; - padding-top:.6rem -} -.md-content__inner:before{ - display:block; - height:.4rem; - content:"" -} -.md-content__inner>:last-child{ - margin-bottom:0 -} -.md-content__icon{ - position:relative; - margin:.4rem 0; - padding:0; - float:right -} -.md-typeset .md-content__icon{ - color:rgba(0,0,0,.26) -} -.md-header{ - position:fixed; - top:0; - right:0; - left:0; - height:2.4rem; - transition:background-color .25s,color .25s; - background-color:#3f51b5; - color:#fff; - box-shadow:none; - z-index:2; - -webkit-backface-visibility:hidden; - backface-visibility:hidden -} -.no-js .md-header{ - transition:none; - box-shadow:none -} -.md-header[data-md-state=shadow]{ - transition:background-color .25s,color .25s,box-shadow .25s; - box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2) -} -.md-header-nav{ - padding:0 .2rem -} -.md-header-nav__button{ - position:relative; - transition:opacity .25s; - z-index:1 -} -.md-header-nav__button:hover{ - opacity:.7 -} -.md-header-nav__button.md-logo *{ - display:block -} -.no-js .md-header-nav__button.md-icon--search{ - display:none -} -.md-header-nav__topic{ - display:block; - position:absolute; - transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s; - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - text-overflow:ellipsis; - white-space:nowrap; - overflow:hidden -} -.md-header-nav__topic+.md-header-nav__topic{ - -webkit-transform:translateX(1.25rem); - transform:translateX(1.25rem); - transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1); - transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s; - transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1); - opacity:0; - z-index:-1; - pointer-events:none -} -[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{ - -webkit-transform:translateX(-1.25rem); - transform:translateX(-1.25rem) -} -.no-js .md-header-nav__topic{ - position:static -} -.no-js .md-header-nav__topic+.md-header-nav__topic{ - display:none -} -.md-header-nav__title{ - padding:0 1rem; - font-size:.9rem; - line-height:2.4rem -} -.md-header-nav__title[data-md-state=active] .md-header-nav__topic{ - -webkit-transform:translateX(-1.25rem); - transform:translateX(-1.25rem); - transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1); - transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s; - transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1); - opacity:0; - z-index:-1; - pointer-events:none -} -[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{ - -webkit-transform:translateX(1.25rem); - transform:translateX(1.25rem) -} -.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{ - -webkit-transform:translateX(0); - transform:translateX(0); - transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s; - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - opacity:1; - z-index:0; - pointer-events:auto -} -.md-header-nav__source{ - display:none -} -.md-hero{ - transition:background .25s; - background-color:#3f51b5; - color:#fff; - font-size:1rem; - overflow:hidden -} -.md-hero__inner{ - margin-top:1rem; - padding:.8rem .8rem .4rem; - transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s; - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - transition-delay:.1s -} -[data-md-state=hidden] .md-hero__inner{ - pointer-events:none; - -webkit-transform:translateY(.625rem); - transform:translateY(.625rem); - transition:opacity .1s 0s,-webkit-transform 0s .4s; - transition:transform 0s .4s,opacity .1s 0s; - transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s; - opacity:0 -} -.md-hero--expand .md-hero__inner{ - margin-bottom:1.2rem -} -.md-footer-nav{ - background-color:rgba(0,0,0,.87); - color:#fff -} -.md-footer-nav__inner{ - padding:.2rem; - overflow:auto -} -.md-footer-nav__link{ - padding-top:1.4rem; - padding-bottom:.4rem; - transition:opacity .25s -} -.md-footer-nav__link:hover{ - opacity:.7 -} -.md-footer-nav__link--prev{ - width:25%; - float:left -} -[dir=rtl] .md-footer-nav__link--prev{ - float:right -} -.md-footer-nav__link--next{ - width:75%; - float:right; - text-align:right -} -[dir=rtl] .md-footer-nav__link--next{ - float:left; - text-align:left -} -.md-footer-nav__button{ - transition:background .25s -} -.md-footer-nav__title{ - position:relative; - padding:0 1rem; - font-size:.9rem; - line-height:2.4rem -} -.md-footer-nav__direction{ - position:absolute; - right:0; - left:0; - margin-top:-1rem; - padding:0 1rem; - color:hsla(0,0%,100%,.7); - font-size:.75rem -} -.md-footer-meta{ - background-color:rgba(0,0,0,.895) -} -.md-footer-meta__inner{ - padding:.2rem; - overflow:auto -} -html .md-footer-meta.md-typeset a{ - color:hsla(0,0%,100%,.7) -} -html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{ - color:#fff -} -.md-footer-copyright{ - margin:0 .6rem; - padding:.4rem 0; - color:hsla(0,0%,100%,.3); - font-size:.64rem -} -.md-footer-copyright__highlight{ - color:hsla(0,0%,100%,.7) -} -.md-footer-social{ - margin:0 .4rem; - padding:.2rem 0 .6rem -} -.md-footer-social__link{ - display:inline-block; - width:1.6rem; - height:1.6rem; - font-size:.8rem; - text-align:center -} -.md-footer-social__link:before{ - line-height:1.9 -} -.md-nav{ - font-size:.7rem; - line-height:1.3 -} -.md-nav__title{ - display:block; - padding:0 .6rem; - font-weight:700; - text-overflow:ellipsis; - overflow:hidden -} -.md-nav__title:before{ - display:none; - content:"\E5C4" -} -[dir=rtl] .md-nav__title:before{ - content:"\E5C8" -} -.md-nav__title .md-nav__button{ - display:none -} -.md-nav__list{ - margin:0; - padding:0; - list-style:none -} -.md-nav__item{ - padding:0 .6rem -} -.md-nav__item:last-child{ - padding-bottom:.6rem -} -.md-nav__item .md-nav__item{ - padding-right:0 -} -[dir=rtl] .md-nav__item .md-nav__item{ - padding-right:.6rem; - padding-left:0 -} -.md-nav__item .md-nav__item:last-child{ - padding-bottom:0 -} -.md-nav__button img{ - width:100%; - height:auto -} -.md-nav__link{ - display:block; - margin-top:.625em; - transition:color .125s; - text-overflow:ellipsis; - cursor:pointer; - overflow:hidden -} -.md-nav__item--nested>.md-nav__link:after{ - content:"\E313" -} -html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{ - display:none -} -.md-nav__link[data-md-state=blur]{ - color:rgba(0,0,0,.54) -} -.md-nav__link--active,.md-nav__link:active{ - color:#3f51b5 -} -.md-nav__item--nested>.md-nav__link{ - color:inherit -} -.md-nav__link:focus,.md-nav__link:hover{ - color:#536dfe -} -.md-nav__source,.no-js .md-search{ - display:none -} -.md-search__overlay{ - opacity:0; - z-index:1 -} -.md-search__form{ - position:relative -} -.md-search__input{ - position:relative; - padding:0 2.2rem 0 3.6rem; - text-overflow:ellipsis; - z-index:2 -} -[dir=rtl] .md-search__input{ - padding:0 3.6rem 0 2.2rem -} -.md-search__input::-webkit-input-placeholder{ - transition:color .25s cubic-bezier(.1,.7,.1,1) -} -.md-search__input:-ms-input-placeholder{ - transition:color .25s cubic-bezier(.1,.7,.1,1) -} -.md-search__input::-ms-input-placeholder{ - transition:color .25s cubic-bezier(.1,.7,.1,1) -} -.md-search__input::placeholder{ - transition:color .25s cubic-bezier(.1,.7,.1,1) -} -.md-search__input::-webkit-input-placeholder,.md-search__input~.md-search__icon{ - color:rgba(0,0,0,.54) -} -.md-search__input:-ms-input-placeholder,.md-search__input~.md-search__icon{ - color:rgba(0,0,0,.54) -} -.md-search__input::-ms-input-placeholder,.md-search__input~.md-search__icon{ - color:rgba(0,0,0,.54) -} -.md-search__input::placeholder,.md-search__input~.md-search__icon{ - color:rgba(0,0,0,.54) -} -.md-search__input::-ms-clear{ - display:none -} -.md-search__icon{ - position:absolute; - transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s; - font-size:1.2rem; - cursor:pointer; - z-index:2 -} -.md-search__icon:hover{ - opacity:.7 -} -.md-search__icon[for=__search]{ - top:.3rem; - left:.5rem -} -[dir=rtl] .md-search__icon[for=__search]{ - right:.5rem; - left:auto -} -.md-search__icon[for=__search]:before{ - content:"\E8B6" -} -.md-search__icon[type=reset]{ - top:.3rem; - right:.5rem; - -webkit-transform:scale(.125); - transform:scale(.125); - transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1); - transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s; - transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1); - opacity:0 -} -[dir=rtl] .md-search__icon[type=reset]{ - right:auto; - left:.5rem -} -[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{ - -webkit-transform:scale(1); - transform:scale(1); - opacity:1 -} -[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{ - opacity:.7 -} -.md-search__output{ - position:absolute; - width:100%; - border-radius:0 0 .1rem .1rem; - overflow:hidden; - z-index:1 -} -.md-search__scrollwrap{ - height:100%; - background-color:#fff; - box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07); - overflow-y:auto; - -webkit-overflow-scrolling:touch -} -.md-search-result{ - color:rgba(0,0,0,.87); - word-break:break-word -} -.md-search-result__meta{ - padding:0 .8rem; - background-color:rgba(0,0,0,.07); - color:rgba(0,0,0,.54); - font-size:.64rem; - line-height:1.8rem -} -.md-search-result__list{ - margin:0; - padding:0; - border-top:.05rem solid rgba(0,0,0,.07); - list-style:none -} -.md-search-result__item{ - box-shadow:0 -.05rem 0 rgba(0,0,0,.07) -} -.md-search-result__link{ - display:block; - transition:background .25s; - outline:0; - overflow:hidden -} -.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{ - background-color:rgba(83,109,254,.1) -} -.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{ - opacity:.7 -} -.md-search-result__link:last-child .md-search-result__teaser{ - margin-bottom:.6rem -} -.md-search-result__article{ - position:relative; - padding:0 .8rem; - overflow:auto -} -.md-search-result__article--document:before{ - position:absolute; - left:0; - margin:.1rem; - transition:opacity .25s; - color:rgba(0,0,0,.54); - content:"\E880" -} -[dir=rtl] .md-search-result__article--document:before{ - right:0; - left:auto -} -.md-search-result__article--document .md-search-result__title{ - margin:.55rem 0; - font-size:.8rem; - font-weight:400; - line-height:1.4 -} -.md-search-result__title{ - margin:.5em 0; - font-size:.64rem; - font-weight:700; - line-height:1.4 -} -.md-search-result__teaser{ - display:-webkit-box; - max-height:1.65rem; - margin:.5em 0; - color:rgba(0,0,0,.54); - font-size:.64rem; - line-height:1.4; - text-overflow:ellipsis; - overflow:hidden; - -webkit-line-clamp:2 -} -.md-search-result em{ - font-style:normal; - font-weight:700; - text-decoration:underline -} -.md-sidebar{ - position:absolute; - width:12.1rem; - padding:1.2rem 0; - overflow:hidden -} -.md-sidebar[data-md-state=lock]{ - position:fixed; - top:2.4rem -} -.md-sidebar--secondary{ - display:none -} -.md-sidebar__scrollwrap{ - max-height:100%; - margin:0 .2rem; - overflow-y:auto; - -webkit-backface-visibility:hidden; - backface-visibility:hidden -} -.md-sidebar__scrollwrap::-webkit-scrollbar{ - width:.2rem; - height:.2rem -} -.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{ - background-color:rgba(0,0,0,.26) -} -.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{ - background-color:#536dfe -} - -.rst-versions { - /* Read the Docs' versions menu */ - font-size: .85rem; -} - -@-webkit-keyframes md-source__facts--done{ - 0%{ - height:0 - } - to{ - height:.65rem - } -} -@keyframes md-source__facts--done{ - 0%{ - height:0 - } - to{ - height:.65rem - } -} -@-webkit-keyframes md-source__fact--done{ - 0%{ - -webkit-transform:translateY(100%); - transform:translateY(100%); - opacity:0 - } - 50%{ - opacity:0 - } - to{ - -webkit-transform:translateY(0); - transform:translateY(0); - opacity:1 - } -} -@keyframes md-source__fact--done{ - 0%{ - -webkit-transform:translateY(100%); - transform:translateY(100%); - opacity:0 - } - 50%{ - opacity:0 - } - to{ - -webkit-transform:translateY(0); - transform:translateY(0); - opacity:1 - } -} -.md-source{ - display:block; - padding-right:.6rem; - transition:opacity .25s; - font-size:.65rem; - line-height:1.2; - white-space:nowrap -} -[dir=rtl] .md-source{ - padding-right:0; - padding-left:.6rem -} -.md-source:hover{ - opacity:.7 -} -.md-source:after,.md-source__icon{ - display:inline-block; - height:2.4rem; - content:""; - vertical-align:middle -} -.md-source__icon{ - width:2.4rem -} -.md-source__icon svg{ - width:1.2rem; - height:1.2rem; - margin-top:.6rem; - margin-left:.6rem -} -[dir=rtl] .md-source__icon svg{ - margin-right:.6rem; - margin-left:0 -} -.md-source__icon+.md-source__repository{ - margin-left:-2rem; - padding-left:2rem -} -[dir=rtl] .md-source__icon+.md-source__repository{ - margin-right:-2rem; - margin-left:0; - padding-right:2rem; - padding-left:0 -} -.md-source__repository{ - display:inline-block; - max-width:100%; - margin-left:.6rem; - font-weight:700; - text-overflow:ellipsis; - overflow:hidden; - vertical-align:middle -} -.md-source__facts{ - margin:0; - padding:0; - font-size:.55rem; - font-weight:700; - list-style-type:none; - opacity:.75; - overflow:hidden -} -[data-md-state=done] .md-source__facts{ - -webkit-animation:md-source__facts--done .25s ease-in; - animation:md-source__facts--done .25s ease-in -} -.md-source__fact{ - float:left -} -[dir=rtl] .md-source__fact{ - float:right -} -[data-md-state=done] .md-source__fact{ - -webkit-animation:md-source__fact--done .4s ease-out; - animation:md-source__fact--done .4s ease-out -} -.md-source__fact:before{ - margin:0 .1rem; - content:"\00B7" -} -.md-source__fact:first-child:before{ - display:none -} -.md-source-file{ - display:inline-block; - margin:1em .5em 1em 0; - padding-right:.25rem; - border-radius:.1rem; - background-color:rgba(0,0,0,.07); - font-size:.64rem; - list-style-type:none; - cursor:pointer; - overflow:hidden -} -.md-source-file:before{ - display:inline-block; - margin-right:.25rem; - padding:.25rem; - background-color:rgba(0,0,0,.26); - color:#fff; - font-size:.8rem; - content:"\E86F"; - vertical-align:middle -} -html .md-source-file{ - transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1) -} -html .md-source-file:before{ - transition:inherit -} -html body .md-typeset .md-source-file{ - color:rgba(0,0,0,.54) -} -.md-source-file:hover{ - box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36) -} -.md-source-file:hover:before{ - background-color:#536dfe -} -.md-tabs{ - width:100%; - transition:background .25s; - background-color:#3f51b5; - color:#fff; - overflow:auto -} -.md-tabs__list{ - margin:0 0 0 .2rem; - padding:0; - list-style:none; - white-space:nowrap -} -.md-tabs__item{ - display:inline-block; - height:2.4rem; - padding-right:.6rem; - padding-left:.6rem -} -.md-tabs__link{ - display:block; - margin-top:.8rem; - transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s; - transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1); - font-size:.7rem; - opacity:.7 -} -.md-tabs__link--active,.md-tabs__link:hover{ - color:inherit; - opacity:1 -} -.md-tabs__item:nth-child(2) .md-tabs__link{ - transition-delay:.02s -} -.md-tabs__item:nth-child(3) .md-tabs__link{ - transition-delay:.04s -} -.md-tabs__item:nth-child(4) .md-tabs__link{ - transition-delay:.06s -} -.md-tabs__item:nth-child(5) .md-tabs__link{ - transition-delay:.08s -} -.md-tabs__item:nth-child(6) .md-tabs__link{ - transition-delay:.1s -} -.md-tabs__item:nth-child(7) .md-tabs__link{ - transition-delay:.12s -} -.md-tabs__item:nth-child(8) .md-tabs__link{ - transition-delay:.14s -} -.md-tabs__item:nth-child(9) .md-tabs__link{ - transition-delay:.16s -} -.md-tabs__item:nth-child(10) .md-tabs__link{ - transition-delay:.18s -} -.md-tabs__item:nth-child(11) .md-tabs__link{ - transition-delay:.2s -} -.md-tabs__item:nth-child(12) .md-tabs__link{ - transition-delay:.22s -} -.md-tabs__item:nth-child(13) .md-tabs__link{ - transition-delay:.24s -} -.md-tabs__item:nth-child(14) .md-tabs__link{ - transition-delay:.26s -} -.md-tabs__item:nth-child(15) .md-tabs__link{ - transition-delay:.28s -} -.md-tabs__item:nth-child(16) .md-tabs__link{ - transition-delay:.3s -} -.md-tabs[data-md-state=hidden]{ - pointer-events:none -} -.md-tabs[data-md-state=hidden] .md-tabs__link{ - -webkit-transform:translateY(50%); - transform:translateY(50%); - transition:color .25s,opacity .1s,-webkit-transform 0s .4s; - transition:color .25s,transform 0s .4s,opacity .1s; - transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s; - opacity:0 -} -.md-typeset .admonition,.md-typeset details{ - box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2); - position:relative; - margin:1.5625em 0; - padding:0 .6rem; - border-left:.2rem solid #448aff; - border-radius:.1rem; - font-size:.64rem; - overflow:auto -} -[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{ - border-right:.2rem solid #448aff; - border-left:none -} -html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{ - margin-bottom:.6rem -} -.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{ - margin:1em 0 -} -.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{ - margin:0 -.6rem; - padding:.4rem .6rem .4rem 2rem; - border-bottom:.05rem solid rgba(68,138,255,.1); - background-color:rgba(68,138,255,.1); - font-weight:700 -} -[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{ - padding:.4rem 2rem .4rem .6rem -} -.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{ - margin-bottom:0 -} -.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{ - position:absolute; - left:.6rem; - color:#448aff; - font-size:1rem; - content:"\E3C9" -} -[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{ - right:.6rem; - left:auto -} -.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{ - border-left-color:#00b0ff -} -[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{ - border-right-color:#00b0ff -} -.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{ - border-bottom-color:rgba(0,176,255,.1); - background-color:rgba(0,176,255,.1) -} -.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{ - color:#00b0ff; - content:"" -} -.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{ - border-left-color:#00b8d4 -} -[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{ - border-right-color:#00b8d4 -} -.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{ - border-bottom-color:rgba(0,184,212,.1); - background-color:rgba(0,184,212,.1) -} -.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{ - color:#00b8d4; - content:"" -} -.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{ - border-left-color:#00bfa5 -} -[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{ - border-right-color:#00bfa5 -} -.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{ - border-bottom-color:rgba(0,191,165,.1); - background-color:rgba(0,191,165,.1) -} -.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{ - color:#00bfa5; - content:"" -} -.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{ - border-left-color:#00c853 -} -[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{ - border-right-color:#00c853 -} -.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{ - border-bottom-color:rgba(0,200,83,.1); - background-color:rgba(0,200,83,.1) -} -.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{ - color:#00c853; - content:"" -} -.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{ - border-left-color:#64dd17 -} -[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{ - border-right-color:#64dd17 -} -.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{ - border-bottom-color:rgba(100,221,23,.1); - background-color:rgba(100,221,23,.1) -} -.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{ - color:#64dd17; - content:"" -} -.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{ - border-left-color:#ff9100 -} -[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{ - border-right-color:#ff9100 -} -.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{ - border-bottom-color:rgba(255,145,0,.1); - background-color:rgba(255,145,0,.1) -} -.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{ - color:#ff9100; - content:"" -} -.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{ - border-left-color:#ff5252 -} -[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{ - border-right-color:#ff5252 -} -.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{ - border-bottom-color:rgba(255,82,82,.1); - background-color:rgba(255,82,82,.1) -} -.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{ - color:#ff5252; - content:"" -} -.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{ - border-left-color:#ff1744 -} -[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{ - border-right-color:#ff1744 -} -.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{ - border-bottom-color:rgba(255,23,68,.1); - background-color:rgba(255,23,68,.1) -} -.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{ - color:#ff1744; - content:"" -} -.md-typeset .admonition.bug,.md-typeset details.bug{ - border-left-color:#f50057 -} -[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{ - border-right-color:#f50057 -} -.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{ - border-bottom-color:rgba(245,0,87,.1); - background-color:rgba(245,0,87,.1) -} -.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{ - color:#f50057; - content:"" -} -.md-typeset .admonition.example,.md-typeset details.example{ - border-left-color:#651fff -} -[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{ - border-right-color:#651fff -} -.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{ - border-bottom-color:rgba(101,31,255,.1); - background-color:rgba(101,31,255,.1) -} -.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{ - color:#651fff; - content:"" -} -.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{ - border-left-color:#9e9e9e -} -[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{ - border-right-color:#9e9e9e -} -.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{ - border-bottom-color:hsla(0,0%,62%,.1); - background-color:hsla(0,0%,62%,.1) -} -.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{ - color:#9e9e9e; - content:"" -} -.codehilite .o,.codehilite .ow,.highlight .o,.highlight .ow{ - color:inherit -} -.codehilite .ge,.highlight .ge{ - color:#000 -} -.codehilite .gr,.highlight .gr{ - color:#a00 -} -.codehilite .gh,.highlight .gh{ - color:#999 -} -.codehilite .go,.highlight .go{ - color:#888 -} -.codehilite .gp,.highlight .gp{ - color:#555 -} -.codehilite .gs,.highlight .gs{ - color:inherit -} -.codehilite .gu,.highlight .gu{ - color:#aaa -} -.codehilite .gt,.highlight .gt{ - color:#a00 -} -.codehilite .gd,.highlight .gd{ - background-color:#fdd -} -.codehilite .gi,.highlight .gi{ - background-color:#dfd -} -.codehilite .k,.highlight .k{ - color:#3b78e7 -} -.codehilite .kc,.highlight .kc{ - color:#a71d5d -} -.codehilite .kd,.codehilite .kn,.highlight .kd,.highlight .kn{ - color:#3b78e7 -} -.codehilite .kp,.highlight .kp{ - color:#a71d5d -} -.codehilite .kr,.codehilite .kt,.highlight .kr,.highlight .kt{ - color:#3e61a2 -} -.codehilite .c,.codehilite .cm,.highlight .c,.highlight .cm{ - color:#999 -} -.codehilite .cp,.highlight .cp{ - color:#666 -} -.codehilite .c1,.codehilite .ch,.codehilite .cs,.highlight .c1,.highlight .ch,.highlight .cs{ - color:#999 -} -.codehilite .na,.codehilite .nb,.highlight .na,.highlight .nb{ - color:#c2185b -} -.codehilite .bp,.highlight .bp{ - color:#3e61a2 -} -.codehilite .nc,.highlight .nc{ - color:#c2185b -} -.codehilite .no,.highlight .no{ - color:#3e61a2 -} -.codehilite .nd,.codehilite .ni,.highlight .nd,.highlight .ni{ - color:#666 -} -.codehilite .ne,.codehilite .nf,.highlight .ne,.highlight .nf{ - color:#c2185b -} -.codehilite .nl,.highlight .nl{ - color:#3b5179 -} -.codehilite .nn,.highlight .nn{ - color:#ec407a -} -.codehilite .nt,.highlight .nt{ - color:#3b78e7 -} -.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{ - color:#3e61a2 -} -.codehilite .nx,.highlight .nx{ - color:#ec407a -} -.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.highlight .il,.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{ - color:#e74c3c -} -.codehilite .s,.codehilite .sb,.codehilite .sc,.highlight .s,.highlight .sb,.highlight .sc{ - color:#0d904f -} -.codehilite .sd,.highlight .sd{ - color:#999 -} -.codehilite .s2,.highlight .s2{ - color:#0d904f -} -.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{ - color:#183691 -} -.codehilite .sr,.highlight .sr{ - color:#009926 -} -.codehilite .s1,.codehilite .ss,.highlight .s1,.highlight .ss{ - color:#0d904f -} -.codehilite .err,.highlight .err{ - color:#a61717 -} -.codehilite .w,.highlight .w{ - color:transparent -} -.codehilite .hll, .highlight .hll{ - display:block; - margin:0 -.6rem; - padding:0 .6rem; - background-color:rgba(255,235,59,.5) -} -.md-typeset .codehilite,.highlight{ - position:relative; - margin:1em 0; - padding:0; - border-radius:.1rem; - background-color:hsla(0,0%,92.5%,.5); - color:#37474f; - line-height:1.4; - -webkit-overflow-scrolling:touch -} -.md-typeset .codehilite code,.md-typeset .codehilite pre,.highlight code,.highlight pre{ - display:block; - margin:0; - padding:.525rem .6rem; - background-color:transparent; - overflow:auto; - vertical-align:top -} -.md-typeset .codehilite code::-webkit-scrollbar,.md-typeset .codehilite pre::-webkit-scrollbar,.highlight code::-webkit-scrollbar,.highlight pre::-webkit-scrollbar{ - width:.2rem; - height:.2rem -} -.md-typeset .codehilite code::-webkit-scrollbar-thumb,.md-typeset .codehilite pre::-webkit-scrollbar-thumb,.highlight code::-webkit-scrollbar-thumb,.highlight pre::-webkit-scrollbar-thumb{ - background-color:rgba(0,0,0,.26) -} -.md-typeset .codehilite code::-webkit-scrollbar-thumb:hover,.md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover,.highlight code::-webkit-scrollbar-thumb:hover, .highlight pre::-webkit-scrollbar-thumb:hover{ - background-color:#536dfe -} -.md-typeset pre.codehilite,.md-typeset pre.highlight{ - overflow:visible -} -.md-typeset pre.codehilite code,.md-typeset pre.highlight code{ - display:block; - padding:.525rem .6rem; - overflow:auto -} -.md-typeset .codehilitetable,.md-typeset .highlighttable{ - display:block; - margin:1em 0; - border-radius:.2em; - font-size:.8rem; - overflow:hidden -} -.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{ - display:block; - padding:0 -} -.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{ - display:flex -} -.md-typeset .codehilitetable .codehilite,.md-typeset .codehilitetable .highlight,.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .codehilite,.md-typeset .highlighttable .highlight,.md-typeset .highlighttable .linenodiv{ - margin:0; - border-radius:0 -} -.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{ - padding:.525rem .6rem -} -.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{ - background-color:rgba(0,0,0,.07); - color:rgba(0,0,0,.26); - -webkit-user-select:none; - -moz-user-select:none; - -ms-user-select:none; - user-select:none -} -.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{ - margin:0; - padding:0; - background-color:transparent; - color:inherit; - text-align:right -} -.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{ - flex:1; - overflow:hidden -} -.md-typeset>.codehilitetable,.md-typeset>.highlighttable{ - box-shadow:none -} -.md-typeset [id^="fnref:"]{ - display:inline-block -} -.md-typeset [id^="fnref:"]:target{ - margin-top:-3.8rem; - padding-top:3.8rem; - pointer-events:none -} -.md-typeset [id^="fn:"]:before{ - display:none; - height:0; - content:"" -} -.md-typeset [id^="fn:"]:target:before{ - display:block; - margin-top:-3.5rem; - padding-top:3.5rem; - pointer-events:none -} -.md-typeset .footnote{ - color:rgba(0,0,0,.54); - font-size:.64rem -} -.md-typeset .footnote ol{ - margin-left:0 -} -.md-typeset .footnote li{ - transition:color .25s -} -.md-typeset .footnote li:target{ - color:rgba(0,0,0,.87) -} -.md-typeset .footnote li :first-child{ - margin-top:0 -} -.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{ - -webkit-transform:translateX(0); - transform:translateX(0); - opacity:1 -} -.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{ - color:#536dfe -} -.md-typeset .footnote-ref{ - display:inline-block; - pointer-events:auto -} -.md-typeset .footnote-ref:before{ - display:inline; - margin:0 .2em; - border-left:.05rem solid rgba(0,0,0,.26); - font-size:1.25em; - content:""; - vertical-align:-.25rem -} -.md-typeset .footnote-backref{ - display:inline-block; - -webkit-transform:translateX(.25rem); - transform:translateX(.25rem); - transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s; - transition:transform .25s .125s,color .25s,opacity .125s .125s; - transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s; - color:rgba(0,0,0,.26); - font-size:0; - opacity:0; - vertical-align:text-bottom -} -[dir=rtl] .md-typeset .footnote-backref{ - -webkit-transform:translateX(-.25rem); - transform:translateX(-.25rem) -} -.md-typeset .footnote-backref:before{ - display:inline-block; - font-size:.8rem; - content:"\E31B" -} -[dir=rtl] .md-typeset .footnote-backref:before{ - -webkit-transform:scaleX(-1); - transform:scaleX(-1) -} -.md-typeset .headerlink{ - display:inline-block; - margin-left:.5rem; - -webkit-transform:translateY(.25rem); - transform:translateY(.25rem); - transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s; - transition:transform .25s .25s,color .25s,opacity .125s .25s; - transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s; - opacity:0 -} -[dir=rtl] .md-typeset .headerlink{ - margin-right:.5rem; - margin-left:0 -} -html body .md-typeset .headerlink{ - color:rgba(0,0,0,.26) -} -.md-typeset h1[id]:before{ - display:block; - margin-top:-9px; - padding-top:9px; - content:"" -} -.md-typeset h1[id]:target:before{ - margin-top:-3.45rem; - padding-top:3.45rem -} -.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{ - color:#536dfe -} -.md-typeset h2[id]:before{ - display:block; - margin-top:-8px; - padding-top:8px; - content:"" -} -.md-typeset h2[id]:target:before{ - margin-top:-3.4rem; - padding-top:3.4rem -} -.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{ - color:#536dfe -} -.md-typeset h3[id]:before{ - display:block; - margin-top:-9px; - padding-top:9px; - content:"" -} -.md-typeset h3[id]:target:before{ - margin-top:-3.45rem; - padding-top:3.45rem -} -.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{ - color:#536dfe -} -.md-typeset h4[id]:before{ - display:block; - margin-top:-9px; - padding-top:9px; - content:"" -} -.md-typeset h4[id]:target:before{ - margin-top:-3.45rem; - padding-top:3.45rem -} -.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{ - color:#536dfe -} -.md-typeset h5[id]:before{ - display:block; - margin-top:-11px; - padding-top:11px; - content:"" -} -.md-typeset h5[id]:target:before{ - margin-top:-3.55rem; - padding-top:3.55rem -} -.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{ - color:#536dfe -} -.md-typeset h6[id]:before{ - display:block; - margin-top:-11px; - padding-top:11px; - content:"" -} -.md-typeset h6[id]:target:before{ - margin-top:-3.55rem; - padding-top:3.55rem -} -.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{ - -webkit-transform:translate(0); - transform:translate(0); - opacity:1 -} -.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{ - color:#536dfe -} -.md-typeset .MJXc-display{ - margin:.75em 0; - padding:.75em 0; - overflow:auto; - -webkit-overflow-scrolling:touch -} -.md-typeset .MathJax_CHTML{ - outline:0 -} -.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{ - margin:0 .25em; - padding:.0625em 0; - border-radius:.1rem; - -webkit-box-decoration-break:clone; - box-decoration-break:clone -} -.md-typeset del.critic{ - background-color:#fdd; - box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd -} -.md-typeset ins.critic{ - background-color:#dfd; - box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd -} -.md-typeset .critic.comment{ - background-color:hsla(0,0%,92.5%,.5); - color:#37474f; - box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5) -} -.md-typeset .critic.comment:before{ - padding-right:.125em; - color:rgba(0,0,0,.26); - content:"\E0B7"; - vertical-align:-.125em -} -.md-typeset .critic.block{ - display:block; - margin:1em 0; - padding-right:.8rem; - padding-left:.8rem; - box-shadow:none -} -.md-typeset .critic.block :first-child{ - margin-top:.5em -} -.md-typeset .critic.block :last-child{ - margin-bottom:.5em -} -.md-typeset details{ - display:block; - padding-top:0 -} -.md-typeset details[open]>summary:after{ - -webkit-transform:rotate(180deg); - transform:rotate(180deg) -} -.md-typeset details:not([open]){ - padding-bottom:0 -} -.md-typeset details:not([open])>summary{ - border-bottom:none -} -.md-typeset details summary{ - padding-right:2rem -} -[dir=rtl] .md-typeset details summary{ - padding-left:2rem -} -.no-details .md-typeset details:not([open])>*{ - display:none -} -.no-details .md-typeset details:not([open]) summary{ - display:block -} -.md-typeset summary{ - display:block; - outline:none; - cursor:pointer -} -.md-typeset summary::-webkit-details-marker{ - display:none -} -.md-typeset summary:after{ - position:absolute; - top:.4rem; - right:.6rem; - color:rgba(0,0,0,.26); - font-size:1rem; - content:"\E313" -} -[dir=rtl] .md-typeset summary:after{ - right:auto; - left:.6rem -} -.md-typeset .emojione{ - width:1rem; - vertical-align:text-top -} -.md-typeset code.codehilite,.md-typeset code.highlight{ - margin:0 .29412em; - padding:.07353em 0 -} -.md-typeset .superfences-content{ - display:none; - order:99; - width:100%; - background-color:#fff -} -.md-typeset .superfences-content>*{ - margin:0; - border-radius:0 -} -.md-typeset .superfences-tabs{ - display:flex; - position:relative; - flex-wrap:wrap; - margin:1em 0; - border:.05rem solid rgba(0,0,0,.07); - border-radius:.2em -} -.md-typeset .superfences-tabs>input{ - display:none -} -.md-typeset .superfences-tabs>input:checked+label{ - font-weight:700 -} -.md-typeset .superfences-tabs>input:checked+label+.superfences-content{ - display:block -} -.md-typeset .superfences-tabs>label{ - width:auto; - padding:.6rem; - transition:color .125s; - font-size:.64rem; - cursor:pointer -} -html .md-typeset .superfences-tabs>label:hover{ - color:#536dfe -} -.md-typeset .task-list-item{ - position:relative; - list-style-type:none -} -.md-typeset .task-list-item [type=checkbox]{ - position:absolute; - top:.45em; - left:-2em -} -[dir=rtl] .md-typeset .task-list-item [type=checkbox]{ - right:-2em; - left:auto -} -.md-typeset .task-list-control .task-list-indicator:before{ - position:absolute; - top:.15em; - left:-1.25em; - color:rgba(0,0,0,.26); - font-size:1.25em; - content:"\E835"; - vertical-align:-.25em -} -[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{ - right:-1.25em; - left:auto -} -.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{ - content:"\E834" -} -.md-typeset .task-list-control [type=checkbox]{ - opacity:0; - z-index:-1 -} -@media print{ - .md-typeset a:after{ - color:rgba(0,0,0,.54); - content:" [" attr(href) "]" - } - .md-typeset code,.md-typeset pre{ - white-space:pre-wrap - } - .md-typeset code{ - box-shadow:none; - -webkit-box-decoration-break:initial; - box-decoration-break:slice - } - .md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{ - display:none - } -} -@media only screen and (max-width:44.9375em){ - .md-typeset pre{ - margin:1em -.8rem; - border-radius:0 - } - .md-typeset pre>code{ - padding:.525rem .8rem - } - .md-footer-nav__link--prev .md-footer-nav__title{ - display:none - } - .md-search-result__teaser{ - max-height:2.5rem; - -webkit-line-clamp:3 - } - .codehilite .hll,.md-typeset .highlight .hll{ - margin:0 -.8rem; - padding:0 .8rem - } - .md-typeset>.codehilite,.md-typeset>.highlight{ - margin:1em -.8rem; - border-radius:0 - } - .md-typeset>.codehilite code,.md-typeset>.codehilite pre,.md-typeset>.highlight code,.md-typeset>.highlight pre{ - padding:.525rem .8rem - } - .md-typeset>.codehilitetable,.md-typeset>.highlighttable{ - margin:1em -.8rem; - border-radius:0 - } - .md-typeset>.codehilitetable .codehilite>code,.md-typeset>.codehilitetable .codehilite>pre,.md-typeset>.codehilitetable .highlight>code,.md-typeset>.codehilitetable .highlight>pre,.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .codehilite>code,.md-typeset>.highlighttable .codehilite>pre,.md-typeset>.highlighttable .highlight>code,.md-typeset>.highlighttable .highlight>pre,.md-typeset>.highlighttable .linenodiv{ - padding:.5rem .8rem - } - .md-typeset>p>.MJXc-display{ - margin:.75em -.8rem; - padding:.25em .8rem - } - .md-typeset>.superfences-tabs{ - margin:1em -.8rem; - border:0; - border-top:.05rem solid rgba(0,0,0,.07); - border-radius:0 - } - .md-typeset>.superfences-tabs code,.md-typeset>.superfences-tabs pre{ - padding:.525rem .8rem - } -} -@media only screen and (min-width:100em){ - html{ - font-size:137.5% - } -} -@media only screen and (min-width:125em){ - html{ - font-size:150% - } -} -@media only screen and (max-width:59.9375em){ - body[data-md-state=lock]{ - overflow:hidden - } - .ios body[data-md-state=lock] .md-container{ - display:none - } - html .md-nav__link[for=__toc]{ - display:block; - padding-right:2.4rem - } - html .md-nav__link[for=__toc]:after{ - color:inherit; - content:"\E8DE" - } - html .md-nav__link[for=__toc]+.md-nav__link{ - display:none - } - html .md-nav__link[for=__toc]~.md-nav{ - display:flex - } - html [dir=rtl] .md-nav__link{ - padding-right:.8rem; - padding-left:2.4rem - } - .md-nav__source{ - display:block; - padding:0 .2rem; - background-color:rgba(50,64,144,.9675); - color:#fff - } - .md-search__overlay{ - position:absolute; - top:.2rem; - left:.2rem; - width:1.8rem; - height:1.8rem; - -webkit-transform-origin:center; - transform-origin:center; - transition:opacity .2s .2s,-webkit-transform .3s .1s; - transition:transform .3s .1s,opacity .2s .2s; - transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s; - border-radius:1rem; - background-color:#fff; - overflow:hidden; - pointer-events:none - } - [dir=rtl] .md-search__overlay{ - right:.2rem; - left:auto - } - [data-md-toggle=search]:checked~.md-header .md-search__overlay{ - transition:opacity .1s,-webkit-transform .4s; - transition:transform .4s,opacity .1s; - transition:transform .4s,opacity .1s,-webkit-transform .4s; - opacity:1 - } - .md-search__inner{ - position:fixed; - top:0; - left:100%; - width:100%; - height:100%; - -webkit-transform:translateX(5%); - transform:translateX(5%); - transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s; - transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s; - transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s; - opacity:0; - z-index:2 - } - [data-md-toggle=search]:checked~.md-header .md-search__inner{ - left:0; - -webkit-transform:translateX(0); - transform:translateX(0); - transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s; - transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s; - transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s; - opacity:1 - } - [dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{ - right:0; - left:auto - } - html [dir=rtl] .md-search__inner{ - right:100%; - left:auto; - -webkit-transform:translateX(-5%); - transform:translateX(-5%) - } - .md-search__input{ - width:100%; - height:2.4rem; - font-size:.9rem - } - .md-search__icon[for=__search]{ - top:.6rem; - left:.8rem - } - .md-search__icon[for=__search][for=__search]:before{ - content:"\E5C4" - } - [dir=rtl] .md-search__icon[for=__search][for=__search]:before{ - content:"\E5C8" - } - .md-search__icon[type=reset]{ - top:.6rem; - right:.8rem - } - .md-search__output{ - top:2.4rem; - bottom:0 - } - .md-search-result__article--document:before{ - display:none - } -} -@media only screen and (max-width:76.1875em){ - [data-md-toggle=drawer]:checked~.md-overlay{ - width:100%; - height:100%; - transition:width 0s,height 0s,opacity .25s; - opacity:1 - } - .md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{ - display:none - } - .md-hero__inner{ - margin-top:2.4rem; - margin-bottom:1.2rem - } - .md-nav{ - background-color:#fff - } - .md-nav--primary,.md-nav--primary .md-nav{ - display:flex; - position:absolute; - top:0; - right:0; - left:0; - flex-direction:column; - height:100%; - z-index:1 - } - .md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{ - font-size:.8rem; - line-height:1.5 - } - html .md-nav--primary .md-nav__title{ - position:relative; - height:5.6rem; - padding:3rem .8rem .2rem; - background-color:rgba(0,0,0,.07); - color:rgba(0,0,0,.54); - font-weight:400; - line-height:2.4rem; - white-space:nowrap; - cursor:pointer - } - html .md-nav--primary .md-nav__title:before{ - display:block; - position:absolute; - top:.2rem; - left:.2rem; - width:2rem; - height:2rem; - color:rgba(0,0,0,.54) - } - html .md-nav--primary .md-nav__title~.md-nav__list{ - background-color:#fff; - box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07) - } - html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{ - border-top:0 - } - html .md-nav--primary .md-nav__title--site{ - position:relative; - background-color:#3f51b5; - color:#fff - } - html .md-nav--primary .md-nav__title--site .md-nav__button{ - display:block; - position:absolute; - top:.2rem; - left:.2rem; - width:3.2rem; - height:3.2rem; - font-size:2.4rem - } - html .md-nav--primary .md-nav__title--site:before{ - display:none - } - html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{ - right:.2rem; - left:auto - } - .md-nav--primary .md-nav__list{ - /* TODO: Consider changing, but need more fix - See GH#48 - */ - flex:1; - overflow-y:auto - } - .md-nav--primary .md-nav__item{ - padding:0; - border-top:.05rem solid rgba(0,0,0,.07) - } - [dir=rtl] .md-nav--primary .md-nav__item{ - padding:0 - } - .md-nav--primary .md-nav__item--nested>.md-nav__link{ - padding-right:2.4rem - } - [dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{ - padding-right:.8rem; - padding-left:2.4rem - } - .md-nav--primary .md-nav__item--nested>.md-nav__link:after{ - content:"\E315" - } - [dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{ - content:"\E314" - } - .md-nav--primary .md-nav__link{ - position:relative; - margin-top:0; - padding:.6rem .8rem - } - .md-nav--primary .md-nav__link:after{ - position:absolute; - top:50%; - right:.6rem; - margin-top:-.6rem; - color:inherit; - font-size:1.2rem - } - [dir=rtl] .md-nav--primary .md-nav__link:after{ - right:auto; - left:.6rem - } - .md-nav--primary .md-nav--secondary .md-nav__link{ - position:static - } - .md-nav--primary .md-nav--secondary .md-nav{ - position:static; - background-color:transparent - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{ - padding-left:1.4rem - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{ - padding-right:1.4rem; - padding-left:0 - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{ - padding-left:2rem - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{ - padding-right:2rem; - padding-left:0 - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{ - padding-left:2.6rem - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{ - padding-right:2.6rem; - padding-left:0 - } - .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{ - padding-left:3.2rem - } - [dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{ - padding-right:3.2rem; - padding-left:0 - } - .md-nav__toggle~.md-nav{ - display:flex; - -webkit-transform:translateX(100%); - transform:translateX(100%); - transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1); - transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s; - transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1); - opacity:0 - } - [dir=rtl] .md-nav__toggle~.md-nav{ - -webkit-transform:translateX(-100%); - transform:translateX(-100%) - } - .no-csstransforms3d .md-nav__toggle~.md-nav{ - display:none - } - .md-nav__toggle:checked~.md-nav{ - -webkit-transform:translateX(0); - transform:translateX(0); - transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s; - transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - opacity:1 - } - .no-csstransforms3d .md-nav__toggle:checked~.md-nav{ - display:flex - } - .md-sidebar--primary{ - position:fixed; - top:0; - left:-12.1rem; - width:12.1rem; - height:100%; - -webkit-transform:translateX(0); - transform:translateX(0); - transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s; - transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1); - background-color:#fff; - z-index:3 - } - [dir=rtl] .md-sidebar--primary{ - right:-12.1rem; - left:auto - } - .no-csstransforms3d .md-sidebar--primary{ - display:none - } - [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{ - box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4); - -webkit-transform:translateX(12.1rem); - transform:translateX(12.1rem) - } - [dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{ - -webkit-transform:translateX(-12.1rem); - transform:translateX(-12.1rem) - } - .no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{ - display:block - } - .md-sidebar--primary .md-sidebar__scrollwrap{ - overflow:hidden; - position:absolute; - top:0; - right:0; - bottom:0; - left:0; - margin:0 - } - .md-tabs{ - display:none - } -} -@media only screen and (min-width:60em){ - .md-content{ - margin-right:12.1rem - } - [dir=rtl] .md-content{ - margin-right:0; - margin-left:12.1rem - } - .md-header-nav__button.md-icon--search{ - display:none - } - .md-header-nav__source{ - display:block; - width:11.7rem; - max-width:11.7rem; - padding-right:.6rem - } - [dir=rtl] .md-header-nav__source{ - padding-right:0; - padding-left:.6rem - } - .md-search{ - padding:.2rem - } - .md-search__overlay{ - position:fixed; - top:0; - left:0; - width:0; - height:0; - transition:width 0s .25s,height 0s .25s,opacity .25s; - background-color:rgba(0,0,0,.54); - cursor:pointer - } - [dir=rtl] .md-search__overlay{ - right:0; - left:auto - } - [data-md-toggle=search]:checked~.md-header .md-search__overlay{ - width:100%; - height:100%; - transition:width 0s,height 0s,opacity .25s; - opacity:1 - } - .md-search__inner{ - position:relative; - width:11.5rem; - margin-right:.8rem; - padding:.1rem 0; - float:right; - transition:width .25s cubic-bezier(.1,.7,.1,1) - } - [dir=rtl] .md-search__inner{ - margin-right:0; - margin-left:.8rem; - float:left - } - .md-search__form,.md-search__input{ - border-radius:.1rem - } - .md-search__input{ - width:100%; - height:1.8rem; - padding-left:2.2rem; - transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1); - background-color:rgba(0,0,0,.26); - color:inherit; - font-size:.8rem - } - [dir=rtl] .md-search__input{ - padding-right:2.2rem - } - .md-search__input+.md-search__icon{ - color:inherit - } - .md-search__input::-webkit-input-placeholder{ - color:hsla(0,0%,100%,.7) - } - .md-search__input:-ms-input-placeholder{ - color:hsla(0,0%,100%,.7) - } - .md-search__input::-ms-input-placeholder{ - color:hsla(0,0%,100%,.7) - } - .md-search__input::placeholder{ - color:hsla(0,0%,100%,.7) - } - .md-search__input:hover{ - background-color:hsla(0,0%,100%,.12) - } - [data-md-toggle=search]:checked~.md-header .md-search__input{ - border-radius:.1rem .1rem 0 0; - background-color:#fff; - color:rgba(0,0,0,.87); - text-overflow:clip - } - [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{ - color:rgba(0,0,0,.54) - } - [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{ - color:rgba(0,0,0,.54) - } - [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{ - color:rgba(0,0,0,.54) - } - [data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{ - color:rgba(0,0,0,.54) - } - .md-search__output{ - top:1.9rem; - transition:opacity .4s; - opacity:0 - } - [data-md-toggle=search]:checked~.md-header .md-search__output{ - box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4); - opacity:1 - } - .md-search__scrollwrap{ - max-height:0 - } - [data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{ - max-height:75vh - } - .md-search__scrollwrap::-webkit-scrollbar{ - width:.2rem; - height:.2rem - } - .md-search__scrollwrap::-webkit-scrollbar-thumb{ - background-color:rgba(0,0,0,.26) - } - .md-search__scrollwrap::-webkit-scrollbar-thumb:hover{ - background-color:#536dfe - } - .md-search-result__meta{ - padding-left:2.2rem - } - [dir=rtl] .md-search-result__meta{ - padding-right:2.2rem; - padding-left:0 - } - .md-search-result__article{ - padding-left:2.2rem - } - [dir=rtl] .md-search-result__article{ - padding-right:2.2rem; - padding-left:.8rem - } - .md-sidebar--secondary{ - display:block; - margin-left:100%; - -webkit-transform:translate(-100%); - transform:translate(-100%) - } - [dir=rtl] .md-sidebar--secondary{ - margin-right:100%; - margin-left:0; - -webkit-transform:translate(100%); - transform:translate(100%) - } -} -@media only screen and (min-width:88.25em) { - .md-sidebar--secondary { - margin-left: 73rem - } - [dir=rtl] .md-sidebar--secondary { - margin-right: 73rem; - margin-left: 0 - } -} -@media only screen and (min-width:76.25em){ - .md-content{ - margin-left:12.1rem - } - [dir=rtl] .md-content{ - margin-right:12.1rem - } - .md-content__inner{ - margin-right:1.2rem; - margin-left:1.2rem - } - .md-header-nav__button.md-icon--menu{ - display:none - } - .md-nav[data-md-state=animate]{ - transition:max-height .25s cubic-bezier(.86,0,.07,1) - } - .md-nav__toggle~.md-nav{ - max-height:0; - overflow:hidden - } - .no-js .md-nav__toggle~.md-nav{ - display:none - } - .md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{ - max-height:100% - } - .no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{ - display:block - } - .md-nav__item--nested>.md-nav>.md-nav__title{ - display:none - } - .md-nav__item--nested>.md-nav__link:after{ - display:inline-block; - -webkit-transform-origin:.45em .45em; - transform-origin:.45em .45em; - -webkit-transform-style:preserve-3d; - transform-style:preserve-3d; - vertical-align:-.125em - } - .js .md-nav__item--nested>.md-nav__link:after{ - transition:-webkit-transform .4s; - transition:transform .4s; - transition:transform .4s,-webkit-transform .4s - } - .md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{ - -webkit-transform:rotateX(180deg); - transform:rotateX(180deg) - } - .md-search__inner{ - margin-right:1.2rem - } - [dir=rtl] .md-search__inner{ - margin-left:1.2rem - } - .md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{ - width:34.4rem - } - .md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{ - font-size:0; - visibility:hidden - } - .md-tabs--active~.md-main .md-nav--primary .md-nav__title{ - display:block; - padding:0 - } - .md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{ - display:none - } - .no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{ - display:block - } - .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{ - font-size:0; - visibility:hidden - } - .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{ - display:none; - font-size:.7rem; - overflow:auto; - visibility:visible - } - .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{ - display:none - } - .md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{ - display:block - } - .md-tabs--active~.md-main .md-nav[data-md-level="1"]{ - max-height:none; - overflow:visible - } - .md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{ - padding-left:0 - } - .md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{ - display:none - } -} -@media only screen and (min-width:45em){ - .md-footer-nav__link{ - width:50% - } - .md-footer-copyright{ - max-width:75%; - float:left - } - [dir=rtl] .md-footer-copyright{ - float:right - } - .md-footer-social{ - padding:.6rem 0; - float:right - } - [dir=rtl] .md-footer-social{ - float:left - } -} -@media only screen and (max-width:29.9375em){ - [data-md-toggle=search]:checked~.md-header .md-search__overlay{ - -webkit-transform:scale(45); - transform:scale(45) - } -} -@media only screen and (min-width:30em) and (max-width:44.9375em){ - [data-md-toggle=search]:checked~.md-header .md-search__overlay{ - -webkit-transform:scale(60); - transform:scale(60) - } -} -@media only screen and (min-width:45em) and (max-width:59.9375em){ - [data-md-toggle=search]:checked~.md-header .md-search__overlay{ - -webkit-transform:scale(75); - transform:scale(75) - } -} -@media only screen and (min-width:60em) and (max-width:76.1875em){ - .md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{ - width:23.4rem - } - .md-search-result__teaser{ - max-height:2.5rem; - -webkit-line-clamp:3 - } -} diff --git a/docs/_build/html/_static/twemoji.css b/docs/_build/html/_static/twemoji.css deleted file mode 100644 index 878d070d..00000000 --- a/docs/_build/html/_static/twemoji.css +++ /dev/null @@ -1,6 +0,0 @@ -img.emoji { - height: 1em; - width: 1em; - margin: 0 .05em 0 .1em; - vertical-align: -0.1em; -} diff --git a/docs/_build/html/_static/twemoji.js b/docs/_build/html/_static/twemoji.js deleted file mode 100644 index 91bc868f..00000000 --- a/docs/_build/html/_static/twemoji.js +++ /dev/null @@ -1,10 +0,0 @@ -function addEvent(element, eventName, fn) { - if (element.addEventListener) - element.addEventListener(eventName, fn, false); - else if (element.attachEvent) - element.attachEvent('on' + eventName, fn); -} - -addEvent(window, 'load', function() { - twemoji.parse(document.body, {'folder': 'svg', 'ext': '.svg'}); -}); diff --git a/docs/_build/html/api/kinoml/_version/index.html b/docs/_build/html/api/kinoml/_version/index.html deleted file mode 100644 index 84e84831..00000000 --- a/docs/_build/html/api/kinoml/_version/index.html +++ /dev/null @@ -1,669 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml._version — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- - - - -
-
- -
-

kinoml._version

-

Git implementation of _version.py.

-
-

Module Contents

-
-
-kinoml._version.get_keywords()
-

Get the keywords needed to look up the version information.

-
-
-
-class kinoml._version.VersioneerConfig
-

Container for Versioneer configuration parameters.

-
-
-
-kinoml._version.get_config()
-

Create, populate and return the VersioneerConfig() object.

-
-
-
-exception kinoml._version.NotThisMethod
-

Bases: Exception

-

Exception raised if a method is not valid for the current scenario.

-
-
-
-kinoml._version.LONG_VERSION_PY
-
-
-
-kinoml._version.HANDLERS
-
-
-
-kinoml._version.register_vcs_handler(vcs, method)
-

Decorator to mark a method as the handler for a particular VCS.

-
-
-
-kinoml._version.run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None)
-

Call the given command(s).

-
-
-
-kinoml._version.versions_from_parentdir(parentdir_prefix, root, verbose)
-

Try to determine the version from the parent directory name.

-

Source tarballs conventionally unpack into a directory that includes both -the project name and a version string. We will also support searching up -two directory levels for an appropriately named parent directory

-
-
-
-kinoml._version.git_get_keywords(versionfile_abs)
-

Extract version information from the given file.

-
-
-
-kinoml._version.git_versions_from_keywords(keywords, tag_prefix, verbose)
-

Get version information from git keywords.

-
-
-
-kinoml._version.git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command)
-

Get version from ‘git describe’ in the root of the source tree.

-

This only gets called if the git-archive ‘subst’ keywords were not -expanded, and _version.py hasn’t already been rewritten with a short -version string, meaning we’re inside a checked out source tree.

-
-
-
-kinoml._version.plus_or_dot(pieces)
-

Return a + if we don’t already have one, else return a .

-
-
-
-kinoml._version.render_pep440(pieces)
-

Build up version string, with post-release “local version identifier”.

-

Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you -get a tagged build and then dirty it, you’ll get TAG+0.gHEX.dirty

-

Exceptions: -1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty]

-
-
-
-kinoml._version.render_pep440_pre(pieces)
-

TAG[.post.devDISTANCE] – No -dirty.

-

Exceptions: -1: no tags. 0.post.devDISTANCE

-
-
-
-kinoml._version.render_pep440_post(pieces)
-

TAG[.postDISTANCE[.dev0]+gHEX] .

-

The “.dev0” means dirty. Note that .dev0 sorts backwards -(a dirty tree will appear “older” than the corresponding clean one), -but you shouldn’t be releasing software with -dirty anyways.

-

Exceptions: -1: no tags. 0.postDISTANCE[.dev0]

-
-
-
-kinoml._version.render_pep440_old(pieces)
-

TAG[.postDISTANCE[.dev0]] .

-

The “.dev0” means dirty.

-

Eexceptions: -1: no tags. 0.postDISTANCE[.dev0]

-
-
-
-kinoml._version.render_git_describe(pieces)
-

TAG[-DISTANCE-gHEX][-dirty].

-

Like ‘git describe –tags –dirty –always’.

-

Exceptions: -1: no tags. HEX[-dirty] (note: no ‘g’ prefix)

-
-
-
-kinoml._version.render_git_describe_long(pieces)
-

TAG-DISTANCE-gHEX[-dirty].

-

Like ‘git describe –tags –dirty –always -long’. -The distance/hash is unconditional.

-

Exceptions: -1: no tags. HEX[-dirty] (note: no ‘g’ prefix)

-
-
-
-kinoml._version.render(pieces, style)
-

Render the given version pieces into the requested style.

-
-
-
-kinoml._version.get_versions()
-

Get version information or return default if unable to do so.

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/analysis/index.html b/docs/_build/html/api/kinoml/analysis/index.html deleted file mode 100644 index 52e40799..00000000 --- a/docs/_build/html/api/kinoml/analysis/index.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.analysis — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/analysis/metrics/index.html b/docs/_build/html/api/kinoml/analysis/metrics/index.html deleted file mode 100644 index 1d0e0bb4..00000000 --- a/docs/_build/html/api/kinoml/analysis/metrics/index.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.analysis.metrics — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.analysis.metrics

-
-

Module Contents

-
-
-kinoml.analysis.metrics.root_mean_squared_error(*args, **kwargs)
-

Returns the square-root of scikit-learn’s mean_squared_error metric. -All arguments are forwarded to that function.

-
-
-
-kinoml.analysis.metrics.performance(predicted, observed, verbose=True, n_boot=100, confidence=0.95, sample_ratio=0.8, _seed=1234)
-

Measure the predicted vs observed performance with different metrics (R2, MSE, MAE, RMSE).

-
-
Parameters:
-
    -
  • predicted (array-like) – Data points predicted by the model.

  • -
  • observed (array-like) – Observed data points, as available in the dataset.

  • -
  • verbose (bool, optional=True) – Whether to print results to stdout.

  • -
  • n_boot (int, optional=100) – Number of bootstrap iterations. Set to 1 to disable -bootstrapping.

  • -
  • confidence (float, optional=0.95) – Confidence interval, relative to 1. Default is 95%.

  • -
  • sample_ratio (float, optional=0.8) – Proportion of data to sample in each iteration.

  • -
  • _seed (int, optional=1234) – Random seed. Each bootstrap iteration gets a different seed -based on this initial one.

  • -
-
-
Returns:
-

results – This dictionary contains one item per metric (see above), -with a 4-element tuple each: mean, standard deviation, and lower and -upper bounds for the confidence interval.

-
-
Return type:
-

dict of tuple

-
-
-
-

Note

-

TODO: Reimplement samples with scipy.stats.norm or with numpy.

-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/analysis/plots/index.html b/docs/_build/html/api/kinoml/analysis/plots/index.html deleted file mode 100644 index 33780185..00000000 --- a/docs/_build/html/api/kinoml/analysis/plots/index.html +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.analysis.plots — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.analysis.plots

-

Common plots for ML model performance analysis

-
-

Module Contents

-
-
-kinoml.analysis.plots.predicted_vs_observed(predicted, observed, measurement_type, with_metrics=True, **kwargs)
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/components/index.html b/docs/_build/html/api/kinoml/core/components/index.html deleted file mode 100644 index feb61f30..00000000 --- a/docs/_build/html/api/kinoml/core/components/index.html +++ /dev/null @@ -1,526 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.components — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.core.components

-

Base classes for all MolecularComponents.

-

One or more components can form a System. -Proteins, ligands, and other molecular entities are -derived the base class MolecularComponent.

-
-

Module Contents

-
-
-class kinoml.core.components.MolecularComponent(name='', metadata=None, *args, **kwargs)
-

Abstract base molecular entity.

-
-
-__repr__() str
-

Return repr(self).

-
-
-
-
-class kinoml.core.components.BaseLigand(name='', metadata=None, *args, **kwargs)
-

Bases: MolecularComponent

-

Base class for all ligand-like entities.

-
-
-
-class kinoml.core.components.BaseProtein(name='', metadata=None, *args, **kwargs)
-

Bases: MolecularComponent

-

Base class for all protein-like entities.

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/conditions/index.html b/docs/_build/html/api/kinoml/core/conditions/index.html deleted file mode 100644 index 78418e1b..00000000 --- a/docs/_build/html/api/kinoml/core/conditions/index.html +++ /dev/null @@ -1,586 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.conditions — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.core.conditions

-

Each Measurement object can store a conditions -attribute which should contain one of the classes -here defined.

-

For example, experimental measurements can have an -AssayConditions object specifying the variables -involved in the experiment, like pH.

-
-

Module Contents

-
-
-class kinoml.core.conditions.BaseConditions(strict: bool = True)
-

Contains information about the experimental conditions. -We ensure objects are immutable by using read-only properties -for all attributes. Do NOT modify private attributes or -hashing will break.

-
-
Parameters:
-

strict (bool, optional=True) – Whether to perform safety checks at initialization.

-
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-_properties(classname: bool = True) dict
-

Return a dictionary with the classname and all defined properties. -Used for equality comparisons in subclasses.

-
-
Parameters:
-

classname (bool, optional=True) – Whether to include the name of the instance class

-
-
Return type:
-

dict

-
-
-
-
-
-__hash__()
-

Return hash(self).

-
-
-
-__eq__(other)
-

Return self==value.

-
-
-
-__repr__() str
-

Return repr(self).

-
-
-
-
-class kinoml.core.conditions.AssayConditions(pH: int | float = 7.0, *args, **kwargs)
-

Bases: BaseConditions

-

Contains information about the experimental conditions -of a given assay.

-
-
Parameters:
-

pH (int or float, optional=7.0) – Acidity conditions

-
-
-
-
-property pH
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/index.html b/docs/_build/html/api/kinoml/core/index.html deleted file mode 100644 index f5fe58c8..00000000 --- a/docs/_build/html/api/kinoml/core/index.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/ligands/index.html b/docs/_build/html/api/kinoml/core/ligands/index.html deleted file mode 100644 index 9cab9318..00000000 --- a/docs/_build/html/api/kinoml/core/ligands/index.html +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.ligands — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.core.ligands

-

MolecularComponent objects that represent ligand-like entities.

-
-

Module Contents

-
-
-kinoml.core.ligands.logger
-
-
-
-class kinoml.core.ligands.Ligand(molecule: openff.toolkit.topology.Molecule | None = None, smiles: str = '', name: str = '', metadata: dict | None = None, **kwargs)
-

Bases: kinoml.core.components.BaseLigand

-

Create a new Ligand object. An openff representation is accessible via the molecule attribute.

-
-

Examples

-

Create a ligand from file:

-
>>> ligand = Ligand.from_file("data/molecules/chloroform.sdf", name="chloroform")
-
-
-

Create a ligand from an openff molecule:

-
>>> from openff.toolkit.topology import Molecule
->>> molecule = Molecule.from_file("data/molecules/chloroform.sdf")
->>> ligand = Ligand(molecule=molecule, name="chloroform")
-
-
-

Create a ligand from SMILES:

-
>>> ligand = Ligand.from_smiles("C(Cl)(Cl)Cl", name="chloroform")
-
-
-

Create a ligand from SMILES with lazy instantiation:

-
>>> ligand = Ligand(smiles="C(Cl)(Cl)Cl", name="chloroform")
-
-
-
-
-
-property molecule
-

Decorate molecule to modify setter and getter.

-
-
-
-molecule()
-

Get the _molecule attribute. If the _smiles attribute is given and _molecule is None, a -new openff molecule will be created from smiles, e.g. in case of lazy instantiation.

-
-
Returns:
-

The openff molecular representation of the ligand.

-
-
Return type:
-

openff.toolkit.topology.Molecule or None

-
-
-
-
-
-classmethod from_smiles(smiles: str, name: str = '', allow_undefined_stereo: bool = True, **kwargs)
-

Create a Ligand from a SMILES representation.

-
-
Parameters:
-
    -
  • smiles (str) – smiles: str -The SMILES representation of the ligand.

  • -
  • name (str, default="") – The name of the ligand.

  • -
  • allow_undefined_stereo (bool, default=True) – If undefined stereo centers should be allowed.

  • -
  • kwargs – Any keyword arguments allowed for the from_smiles method of the openff molecule class.

  • -
-
-
-
-
-
-classmethod from_file(file_path: pathlib.Path | str, name: str = '', allow_undefined_stereo: bool = True, **kwargs)
-

Create a Ligand from file.

-
-
Parameters:
-
    -
  • file_path (pathlib.Path or str) – The path to the molecular file. For supported formats see the openff molecule -documentation.

  • -
  • name (str, default="") – The name of the ligand.

  • -
  • allow_undefined_stereo (bool, default=True) – If undefined stereo centers should be allowed.

  • -
  • kwargs – Any keyword arguments allowed for the from_file method of the openff molecule class.

  • -
-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/measurements/index.html b/docs/_build/html/api/kinoml/core/measurements/index.html deleted file mode 100644 index c9796937..00000000 --- a/docs/_build/html/api/kinoml/core/measurements/index.html +++ /dev/null @@ -1,970 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.measurements — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.core.measurements

-

Measurements are the first-level citizens in a dataset.

-

A kinoml.datasets.DatasetProvider can be essentially considered -a list of Measurement objects. These objects contain:

-
    -
  • One or more numeric values, stored as an array under the .values attribute.

  • -
  • The set of MolecularComponent objects that were measured, collected -under a System in the .system attribute.

  • -
  • The conditions the measurement was taken under.

  • -
-

Read on the subclasses for more concrete information about observation models, -loss functions, errors and other features.

-
-

Module Contents

-
-
-kinoml.core.measurements.LN10
-
-
-
-class kinoml.core.measurements.BaseMeasurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

We will have several subclasses depending on the experiment. -They will also provide observation models tailored to it.

-

Values of the measurement can have more than one replicate. In fact, -single replicates are considered a specific case of a multi-replicate.

-
-
Parameters:
-
    -
  • values (float or array-like of floats) – The numeric measurement(s). If float, it will be -reshaped to a single-element array.

  • -
  • errors (float or array-like of floats, optional) – The associated errors to values. Must be same -shape as values. If float, it will be -reshaped to a single-element array.

  • -
  • conditions (AssayConditions) – Experimental conditions of this measurement

  • -
  • system (System) – Molecular entities measured, contained in a System object

  • -
  • group (int or str, optional) – A label that identifies this measurement as part of a group. -Useful to split datasets according to shared properties, -like research group, measured molecule(s), etc.

  • -
  • metadata (dict, optional) – Provenance data for this measurement

  • -
  • strict (bool, optional=True) – Whether to perform safe checks at initialization.

  • -
-
-
-
-
-RANGE
-

Acceptable range of measurement values, as stored in values

-
-
Type:
-

tuple of float

-
-
-
-
-

Note

-

TODO: Investigate possible uses for pint

-
-
-
-property values
-
-
-
-property errors
-
-
-
-RANGE = ()
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-__eq__(other)
-

Return self==value.

-
-
-
-__repr__() str
-

Return repr(self).

-
-
-
-
-class kinoml.core.measurements.ObservationModelMeasurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

Bases: BaseMeasurement

-

A base class that implements the concept of observation models and -loss function adapters.

-

Read on the .observation_model and .loss_adapter -class methods for more information.

-
-
-classmethod observation_model(backend='pytorch')
-

The observation_model function must be defined per Measurement type, in the appropriate -subclass. It dispatches to underlying static methods, suffixed by the -backend (e.g. _observation_model_pytorch, _observation_model_tensorflow). These methods are -_static_, so they do not have access to the class. This is done on purpose -for composability of modular observation_model functions. -The signature is, hence, undefined.

-

There are some standardized keyword arguments we use by convention, though:

-
    -
  • values

  • -
  • errors

  • -
-
-
-
-classmethod _observation_model(backend='pytorch', type_=None)
-
-
-
-static _observation_model_null(dG_over_KT)
-
-
-
-abstract static _observation_model_pytorch(*args, **kwargs)
-
-
-
-abstract static _observation_model_xgboost(*args, **kwargs)
-
-
-
-classmethod loss_adapter(backend='pytorch')
-

Some frameworks require objective functions to include the -observation model transformation in the same callable. This -method provides a factory of such methods.

-
-
-
-static _loss_adapter_generic(predicted, observed, loss_func, loss_kwargs=None, pre_loss_func=None, pre_loss_kwargs=None, post_loss_func=None, post_loss_kwargs=None)
-
-
-
-classmethod _loss_adapter_pytorch(predicted, observed, loss_func, **kwargs)
-
-
-
-static _post_loss_adapter(loss, **kwargs)
-
-
-
-
-class kinoml.core.measurements.PercentageDisplacementMeasurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

Bases: ObservationModelMeasurement

-

Measurement where the value(s) must be percentage(s) of displacement.

-

For the percent displacement measurements available from KinomeScan, we have the following:

-
-\[D([I]) = \frac{1}{1 + \frac{K_d}{[I]}}\]
-

We therefore define the following function:

-
-\[\mathbf{F}_{KinomeScan}(\Delta g, [I]) = 100 * \frac{1}{1 + \frac{exp[\Delta g] * C[M]}{[I]}}\]
-

where \(C\) is the standard concentration of 1 [M].

-
-

Note

-

The acceptable range for this measurement is [0, 100], inclusive.

-
-
-
-RANGE = (0, 100)
-
-
-
-_observation_model_xgboost
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-static _observation_model_pytorch(dG_over_KT, inhibitor_conc=1, standard_conc=1, **kwargs)
-
-
-
-static _observation_model_numpy(dG_over_KT, inhibitor_conc=1, standard_conc=1, **kwargs)
-

Return the observation model.

-
-\[F(\Delta g) = 100 * \frac{1}{1 + \frac{exp[\Delta g] * C[M]}{[I]}}\]
-
-
-
-static _post_loss_adapter(loss, **kwargs)
-
-
-
-static _loss_adapter_xgboost_mse(labels, dG_over_KT, inhibitor_conc=1, standard_conc=1, **kwargs)
-

Return the gradient and the hessian of the loss defined by

-
-\[L(y, \hat y) = \frac{1}{2} * (y - F(\hat y)) ** 2\]
-

See theory notes for more details.

-
-
-
-
-class kinoml.core.measurements.pIC50Measurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

Bases: ObservationModelMeasurement

-

Measurement where the value(s) come from pIC50 experiments

-

We use the Cheng Prusoff equation here.

-

The Cheng Prusoff -equation states the following relationship:

-
-\[K_i = \frac{IC50}{1+\frac{[S]}{K_m}}\]
-

We make the following assumption (which will be relaxed in the future):

-
-\[K_i \approx K_d\]
-

Under this assumptions, the Cheng-Prusoff equation becomes:

-
-\[IC50 \approx {1+\frac{[S]}{K_m}} * K_d\]
-

We define the following function:

-
-\[\mathbf{F}_{IC_{50}}(\Delta g) = \Big({1+\frac{[S]}{K_m}}\Big) * \mathbf{F}_{K_d}(\Delta g) = \Big({1+\frac{[S]}{K_m}}\Big) * exp[\Delta g] * C[M]\]
-

Given IC50 values given in molar units, we obtain pIC50 -values in molar units using the tranformation:

-
-\[pIC50 [M] = -log_{10}(IC50[M])\]
-

Finally the observation model for pIC50 values is:

-
-\[\mathbf{F}_{pIC_{50}}(\Delta g) = - \frac{\Delta g + \ln\Big(\big(1+\frac{[S]}{K_m}\big)*C\Big)}{\ln(10)}\]
-
-

Note

-

The acceptable range for this measurement is [0, 15], inclusive.

-
-
-
-RANGE = (0, 15)
-
-
-
-_observation_model_numpy
-
-
-
-_observation_model_xgboost
-
-
-
-static _observation_model_pytorch(dG_over_KT, substrate_conc=1e-06, michaelis_constant=1, standard_conc=1, **kwargs)
-
-
-
-static _loss_adapter_xgboost_mse(labels, dG_over_KT, substrate_conc=1e-06, michaelis_constant=1, standard_conc=1, **kwargs)
-

In XGBoost, observation models need to be applied within the loss function. In this specific case, -MSE is applied and differentiated (twice) to provide the gradients and hessian matrices.

-
-\[loss = 1/2 * (observation_pIC50(preds)-labels)^2\]
-
-
Parameters:
-

dmatrix – xgboost.DMatrix -Passed automatically by the xgboost loop

-
-
-
-
-
-static _post_loss_adapter(loss, **kwargs)
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-
-class kinoml.core.measurements.pKiMeasurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

Bases: ObservationModelMeasurement

-

Measurement where the value(s) come from \(K_i\) experiments

-

We make the assumption that \(K_i \approx K_d\) and therefore

-
-\[\mathbf{F}_{pK_i} = \mathbf{F}_{pK_d}\]
-
-

Note

-

The acceptable range for this measurement is [0, 100], inclusive.

-
-
-
-RANGE = (0, 15)
-
-
-
-_observation_model_numpy
-
-
-
-_observation_model_xgboost
-
-
-
-static _observation_model_pytorch(dG_over_KT, standard_conc=1, **kwargs)
-
-
-
-static _loss_adapter_xgboost_mse(labels, dG_over_KT, standard_conc=1, **kwargs)
-

Return the gradient and the hessian of the loss defined by

-
-\[L(y, \hat y) = \frac{1}{2} * (y - F(\hat y)) ** 2\]
-
-
-
-static _post_loss_adapter(loss, **kwargs)
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-
-class kinoml.core.measurements.pKdMeasurement(values: float | Iterable[float], conditions: kinoml.core.conditions.AssayConditions, system: kinoml.core.systems.System, errors: float | Iterable[float] = np.nan, group: int | str = None, strict: bool = True, metadata: dict = None, **kwargs)
-

Bases: ObservationModelMeasurement

-

Measurement where the value(s) come from Kd experiments

-

We define the following physics-based function

-
-\[\mathbf{F}_{pK_d}(\Delta g) = - \frac{\Delta g + \ln(C)}{\ln(10)}\]
-

where C given in molar [M] can be adapted if measurements were undertaken at different concentrations.

-
-

Note

-

The acceptable range for this measurement is [0, 15], inclusive.

-
-
-
-RANGE = (0, 15)
-
-
-
-_observation_model_numpy
-
-
-
-_observation_model_xgboost
-
-
-
-static _observation_model_pytorch(dG_over_KT, standard_conc=1, **kwargs)
-
-
-
-static _loss_adapter_xgboost_mse(labels, dG_over_KT, standard_conc=1, **kwargs)
-

Return the gradient and the hessian of the loss defined by

-
-\[L(y, \hat y) = \frac{1}{2} * (y - F(\hat y)) ** 2\]
-
-
-
-static _post_loss_adapter(loss, **kwargs)
-
-
-
-check()
-

Perform some checks for valid values

-
-
-
-
-kinoml.core.measurements.null_observation_model(arg)
-

A callable that returns arg directly. It works as an -identity function when observation models need to be disabled -for a particular experiment.

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/proteins/index.html b/docs/_build/html/api/kinoml/core/proteins/index.html deleted file mode 100644 index 09504522..00000000 --- a/docs/_build/html/api/kinoml/core/proteins/index.html +++ /dev/null @@ -1,743 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.proteins — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.core.proteins

-

MolecularComponent objects that represent protein-like entities.

-
-

Module Contents

-
-
-kinoml.core.proteins.logger
-
-
-
-class kinoml.core.proteins.Protein(pdb_id: str = '', molecule: openeye.oechem.OEMol | openeye.oechem.OEGraphMol | MDAnalysis.core.universe.Universe | None = None, toolkit: str = 'OpenEye', name: str = '', sequence: str = '', uniprot_id: str = '', ncbi_id: str = '', metadata: dict | None = None, **kwargs)
-

Bases: kinoml.core.components.BaseProtein, kinoml.core.sequences.AminoAcidSequence

-

Create a new Protein object. A molecular representation is accessible via the molecule attribute.

-
-

Examples

-

Create a protein from file with OpenEye toolkit molecular representation:

-
>>> protein = Protein.from_file("data/proteins/4f8o.pdb", name="4f8o")
-
-
-

Create a protein from file with MDAnalysis toolkit molecular representation:

-
>>> protein = Protein.from_file("data/proteins/4f8o.pdb", name="4f8o", toolkit="MDAnalysis")
-
-
-

Create a protein from an OpenEye molecule:

-
>>> from kinoml.modeling.OEModeling import read_molecules
->>> molecule = read_molecules("data/proteins/4f8o.pdb")[0]
->>> protein = Protein(molecule=molecule, name="4f8o")
-
-
-

Create a protein from PDB ID:

-
>>> protein = Protein.from_pdb("4f8o")
-
-
-

Create a protein from PDB ID with lazy instantiation:

-
>>> protein = Protein(pdb_id="4f8o")
-
-
-

Create a protein from PDB ID with lazy instantiation and get access to the complete wildtype -amino acid sequence via providing a UniProt ID:

-
>>> protein = Protein(pdb_id="4f8o", uniprot_id="P31522")
->>> protein.sequence
-
-
-
-
-
-property pdb_id
-

Decorate pdb_id to modify setter.

-
-
-
-property molecule
-

Decorate molecule to modify setter and getter.

-
-
-
-molecule()
-

Get the _molecule attribute. If the pdb_id attribute is given and _molecule is None, a -new molecule representation will be created from the given pdb_id, e.g. in case of lazy -instantiation. The toolkit being used depends on the toolkit attribute.

-
-
Returns:
-

The molecular representation of the protein.

-
-
Return type:
-

Universe or AtomGroup or oechem.OEMol or oechem.OEGraphMol or None

-
-
-
-
-
-classmethod from_file(file_path: pathlib.Path | str, name: str = '', toolkit: str = 'OpenEye')
-

Create a Protein from file.

-
-
Parameters:
-
    -
  • file_path (pathlib.Path or str) – The path to the molecular file. Supported formats depend on the toolkit being used.

  • -
  • name (str, default="") – The name of the protein.

  • -
  • toolkit (str, default="OpenEye") – The toolkit to use for molecular representation.

  • -
-
-
-
-
-
-classmethod from_pdb(pdb_id: str, name: str = '', toolkit: str = 'OpenEye')
-

Create a Protein from file.

-
-
Parameters:
-
    -
  • pdb_id (str) – The PDB ID of the protein structure of interest.

  • -
  • name (str, default="") – The name of the protein.

  • -
  • toolkit (str, default="OpenEye") – The toolkit to use for molecular representation.

  • -
-
-
-
-
-
-
-class kinoml.core.proteins.KLIFSKinase(pdb_id: str = '', molecule: openeye.oechem.OEMol | openeye.oechem.OEGraphMol | MDAnalysis.core.universe.Universe | None = None, toolkit: str = 'OpenEye', name: str = '', sequence: str = '', uniprot_id: str = '', ncbi_id: str = '', structure_klifs_id: int | None = None, kinase_klifs_id: int | None = None, kinase_klifs_sequence: str = '', structure_klifs_sequence: str = '', structure_klifs_residues: pandas.DataFrame | None = None, metadata: dict | None = None, **kwargs)
-

Bases: Protein

-

Create a new KLIFSKinase object. A molecular representation is accessible via the molecule -attribute. Allows access to the sequence and residues of the KLIFS binding pocket.

-
-

Examples

-

Create a KLIFS kinase from PDB ID with lazy instantiation:

-
>>> kinase = KLIFSKinase(pdb_id="4yne")
-
-
-

Create a KLIFS kinase from PDB ID with lazy instantiation and gain access to the wildtype -KLIFS pocket sequence via providing a UniProt ID:

-
>>> kinase = KLIFSKinase(pdb_id="4yne", uniprot_id="P04629")
->>> kinase.kinase_klifs_sequence()
-
-
-

Create a KLIFS kinase from PDB ID with lazy instantiation and gain access to the wildtype -KLIFS pocket sequence via providing a KLIFS specifc kinase ID:

-
>>> kinase = KLIFSKinase(pdb_id="4yne", kinase_klifs_id=480)
->>> kinase.kinase_klifs_sequence()  # wildtype, does not need to match the given PDB structure
-
-
-

Create a KLIFS kinase from PDB ID with lazy instantiation and gain access to the KLIFS pocket -sequence and residues of the structure via providing a KLIFS specifc structure ID:

-
>>> kinase = KLIFSKinase(pdb_id="4yne", structure_klifs_id=3620)
->>> kinase.kinase_klifs_sequence()  # wildtype, does not need to match the given PDB structure
->>> kinase.structure_klifs_sequence()  # specific to the structure
->>> kinase.structure_klifs_residues()  # specific to the structure
-
-
-
-
-
-property kinase_klifs_sequence
-

Decorate kinase_klifs_sequence to modify setter and getter.

-
-
-
-property structure_klifs_sequence
-

Decorate structure_klifs_sequence to modify setter and getter.

-
-
-
-property structure_klifs_residues
-

Decorate structure_klifs_residues to modify setter and getter.

-
-
-
-_query_sequence_sources()
-

Query available sources for sequence details. Add additional methods below to allow -fetching from other sources.

-
-
-
-_query_klifs()
-

Query KLIFS for the Uniprot ID, which allows fetching of the sequence.

-
-
-
-kinase_klifs_sequence()
-

Get the _kinase_klifs_sequence attribute. Query KLIFS for the respective sequence if -_kinase_klifs_sequence is an empty string.

-
-
Returns:
-

The kinase KLIFS binding pocket sequence.

-
-
Return type:
-

str

-
-
Raises:
-

ValueError – To allow access to the kinase KLIFS sequence, the KLIFSKinase object needs to be -initialized with one of the following attributes: -kinase_klifs_sequence -kinase_klifs_id -structure_klifs_id -uniprot_id

-
-
-
-
-
-structure_klifs_sequence()
-

Get the _structure_klifs_sequence attribute. Query KLIFS for the respective sequence if -_structure_klifs_sequence is an empty string.

-
-
Returns:
-

The structure-specific KLIFS binding pocket sequence.

-
-
Return type:
-

str

-
-
Raises:
-

ValueError – To allow access to the structure KLIFS sequence, the KLIFSKinase object needs to be -initialized with one of the following attributes: -structure_klifs_sequence -structure_klifs_id

-
-
-
-
-
-structure_klifs_residues()
-

Get the _structure_klifs_residues attribute. Query KLIFS for the respective residues if -_structure_klifs_residues is None.

-
-
Returns:
-

The structure-specific KLIFS residues formatted like by opencadd.databases.klifs.

-
-
Return type:
-

pd.DataFrame or None

-
-
Raises:
-

ValueError – To allow access to structure KLIFS residues, the KLIFSKinase object needs to be -initialized with one of the following attributes: -structure_klifs_residues -structure_klifs_id

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/sequences/index.html b/docs/_build/html/api/kinoml/core/sequences/index.html deleted file mode 100644 index 2398eedd..00000000 --- a/docs/_build/html/api/kinoml/core/sequences/index.html +++ /dev/null @@ -1,761 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.sequences — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.core.sequences

-

Sequence-like objects to build MolecularComponents and others.

-
-

Module Contents

-
-
-kinoml.core.sequences.logger
-
-
-
-class kinoml.core.sequences.Biosequence(sequence='', name='', metadata=None, **kwargs)
-

Bases: object

-

Base class for string representations of biological polymers -(nucleic acids, peptides, proteins…).

-
-
Parameters:
-
    -
  • sequence (str, default="") – The sequence in one-letter codes.

  • -
  • name (str, default="") – The sequence name.

  • -
  • metadata (dict or None, default=None) – Additional data as a dictionary.

  • -
-
-
-
-
-property sequence
-
-
-
-ALPHABET
-
-
-
-sequence()
-
-
-
-_query_sequence_sources()
-

Query available sources for sequence details. Overwrite method in subclasses to fetch -data.

-
-
-
-substitute(substitution)
-

Given XYYYZ, substitute element X at position YYY with Z, e.g. C1156Y.

-
-
Parameters:
-

substitution (str) – Substitution to apply. It must be formatted as -[existing element][1-indexed position][new element].

-
-
-
-

Examples

-
>>> s = Biosequence(sequence="ABCD")
->>> s.sequence
-"ABCD"
->>> s.substitute("B2F")
->>> s.sequence
-"AFCD"
-
-
-
-
-
-
-delete(first, last, insert='')
-

Delete all elements between first and last positions including bounds. Optionally, provide -an additional insert that shell be placed at the position of the deletion.

-
-
Parameters:
-
    -
  • first (int) – First residue to delete (1-indexed).

  • -
  • last (int) – Last residue to delete (1-indexed).

  • -
  • insert (str, default="") – Sequence that should be placed at the position of the deletion.

  • -
-
-
-
-

Examples

-
>>> s = Biosequence(sequence="ABCD")
->>> s.sequence
-"ABCD"
->>> s.delete(3,3, insert="GH")
->>> s.sequence
-"ABGHD"
-
-
-
-
-
-
-insert(position, insert)
-

Insert a sequence at the given position.

-
-
Parameters:
-
    -
  • position (int) – Position (1-indexed) to place the insertion.

  • -
  • insert (str) – The sequence of the insertion.

  • -
-
-
-
-

Examples

-
>>> s = Biosequence(sequence="ABCD")
->>> s.sequence
-"ABCD"
->>> s.insert(4, insert="EF")
->>> s.sequence
-"ABCEFD"
-
-
-
-
-
-
-
-class kinoml.core.sequences.AminoAcidSequence(uniprot_id='', ncbi_id='', sequence='', name='', metadata=None, **kwargs)
-

Bases: Biosequence

-

Biosequence for amino acid sequences.

-
-
Parameters:
-
    -
  • uniprot_id (str or None, default=None) – The UniProt ID.

  • -
  • ncbi_id (str or None, default=None) – The NCBI ID.

  • -
  • sequence (str, default="") – The amino acid sequence in one-letter codes.

  • -
  • name (str, default="") – The sequence name.

  • -
  • metadata (dict or None, default=None) – Additional data as a dictionary.

  • -
-
-
-
-

Examples

-

Amino acid sequences can be created by providing the sequence manually or by fetching from -e.g. UniProt:

-
>>> alatripeptide = AminoAcidSequence(sequence="AAA", name="alatripeptide")
->>> alatripeptide.sequence
-"AAA"
->>> abl1 = AminoAcidSequence(uniprot_id="P00519", name="ABL1")
->>> abl1.sequence[:5]
-"MLEIC"
-
-
-
-
Fetched sequences can be altered by providing information via metadata[“mutations”], i.e.:
    -
  • insertions - formatted like “ins123AGA”

  • -
  • deletions - formatted like “del12-15P” (the P stands for a proline insert (optional))

  • -
  • substitutions - formatted like “T315A”

  • -
-
>>> abl1 = AminoAcidSequence(
->>>     uniprot_id="P00519", name="ABL1", metadata={"mutations": "T315A"}
->>> )
-
-
-

Multiple mutations can be added sequentially in a single string:

-
>>> abl1 = AminoAcidSequence(
->>>     uniprot_id="P00519", name="ABL1", metadata={"mutations": "T315A del320-22P"}
->>> )
-
-
-

An artificial contruct only consisting of a part of the sequence can be specified via -metadata[“construct_range”]:

-
>>> abl1 = AminoAcidSequence(
->>>     uniprot_id="P00519",
->>>     name="ABL1",
->>>     metadata={"mutations": "T315A", "construct_range": "229-512"}
->>> )
-
-
-
-
-
-
-
-ALPHABET = 'ACDEFGHIKLMNPQRSTVWY'
-
-
-
-_query_sequence_sources()
-

Query available sources for sequence details. Add additional methods below to allow -fetching from other sources. Perform mutations etc if given via metadata.

-
-
-
-_query_uniprot()
-

Fetch the amino acid sequence from UniProt.

-
-
-
-_query_ncbi()
-

Fetch the amino acid sequence from NCBI.

-
-
-
-static ncbi_to_uniprot(ncbi_id)
-

Convert an NCBI protein accession to the corresponding UniProt ID.

-
-
Parameters:
-

ncbi_id (str) – The NCBI protein accession.

-
-
Returns:
-

The corresponding UniProt ID, empty string if not successful.

-
-
Return type:
-

str

-
-
-
-
-
-
-class kinoml.core.sequences.DNASequence(sequence='', name='', metadata=None, **kwargs)
-

Bases: Biosequence

-

Biosequence that only allows DNA bases.

-
-
-ALPHABET = 'ATCG'
-
-
-
-
-class kinoml.core.sequences.RNASequence(sequence='', name='', metadata=None, **kwargs)
-

Bases: Biosequence

-

Biosequence that only allows RNA bases.

-
-
-ALPHABET = 'AUCG'
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/core/systems/index.html b/docs/_build/html/api/kinoml/core/systems/index.html deleted file mode 100644 index 1a46acd6..00000000 --- a/docs/_build/html/api/kinoml/core/systems/index.html +++ /dev/null @@ -1,647 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.core.systems — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.core.systems

-

System objects define a collection of related -MolecularComponent instances. They are normally -attached to a Measurement, and, in the context -of a machine learning exercise, will be featurized -with different classes found under kinoml.features. -Featurization turns a System into a tensor-like -object, like Numpy arrays.

-
-

Module Contents

-
-
-class kinoml.core.systems.System(components: Iterable[kinoml.core.components.MolecularComponent], strict: bool = True, *args, **kwargs)
-

System objects host one or more MolecularComponent.

-
-
Parameters:
-
    -
  • components (list of MolecularComponent) – Molecular entities defining this system

  • -
  • strict (bool, optional=True) – Whether to perform sanity checks (default) or not.

  • -
-
-
-
-
-featurizations
-

This dictionary will store the different featurization -steps a System is submitted to. The keys for this -dictionary are usually the name of the featurizer -class. Additionally, a Pipeline might define -a last key, indicating that particular object -was the final result of a chain of featurizers.

-
-
Type:
-

dict

-
-
-
-
-
-property name: str
-

Generates a readable name out of the components names

-
-
-
-property weight: float
-

Calculate the molecular weight of the system

-

Note: This is just an example on how/why this level of -abstraction can be useful.

-
-
-
-_components_by_type(type_)
-

Yield MolecularComponent objects of a given type only

-
-
-
-check()
-
-
-
-__repr__() str
-

Return repr(self).

-
-
-
-
-class kinoml.core.systems.ProteinSystem(components: Iterable[kinoml.core.components.MolecularComponent], strict: bool = True, *args, **kwargs)
-

Bases: System

-

A System that contains Protein objects. It defines two properties:

-
    -
  • protein: get the first Protein found in the components

  • -
  • proteins: get all Protein objects found in the components

  • -
-
-
-property protein
-
-
-
-property proteins
-
-
-
-check()
-
-
-
-
-class kinoml.core.systems.LigandSystem(components: Iterable[kinoml.core.components.MolecularComponent], strict: bool = True, *args, **kwargs)
-

Bases: System

-

A System that contains Ligand objects. It defines two properties:

-
    -
  • ligand: get the first Ligand found in the components

  • -
  • ligands: get all Ligand objects found in the components

  • -
-
-
-property ligand
-
-
-
-property ligands
-
-
-
-check()
-
-
-
-
-class kinoml.core.systems.ProteinLigandComplex(components: Iterable[kinoml.core.components.MolecularComponent], strict: bool = True, *args, **kwargs)
-

Bases: ProteinSystem, LigandSystem

-

A system with at least one protein and one ligand

-
-
-check()
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/databases/index.html b/docs/_build/html/api/kinoml/databases/index.html deleted file mode 100644 index 6f1f7079..00000000 --- a/docs/_build/html/api/kinoml/databases/index.html +++ /dev/null @@ -1,512 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.databases — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/databases/klifs/index.html b/docs/_build/html/api/kinoml/databases/klifs/index.html deleted file mode 100644 index 8340280f..00000000 --- a/docs/_build/html/api/kinoml/databases/klifs/index.html +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.databases.klifs — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.databases.klifs

-
-

Module Contents

-
-
-kinoml.databases.klifs.klifs_kinase_from_uniprot_id(uniprot_id: str) pandas.DataFrame
-

Retrieve KLIFS kinase details about the kinase matching the given Uniprot ID.

-
-
Parameters:
-

uniprot_id (str) – Uniprot identifier.

-
-
Returns:
-

kinase – KLIFS kinase details.

-
-
Return type:
-

pd.Series

-
-
Raises:
-
    -
  • ValueError: – No KLIFS kinase found for UniProt ID.

  • -
  • ValueError: – Multiple KLIFS kinases found for UniProt ID.

  • -
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/databases/pdb/index.html b/docs/_build/html/api/kinoml/databases/pdb/index.html deleted file mode 100644 index 6521ab9b..00000000 --- a/docs/_build/html/api/kinoml/databases/pdb/index.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.databases.pdb — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.databases.pdb

-
-

Module Contents

-
-
-kinoml.databases.pdb.logger
-
-
-
-kinoml.databases.pdb.smiles_from_pdb(ligand_ids: Iterable[str]) dict
-

Retrieve SMILES of molecules defined by their PDB chemical identifier.

-
-
Parameters:
-

ligand_ids (iterable of str) – PDB chemical identifier.

-
-
Returns:
-

ligands – Dictionary with PDB chemical identifier as keys and SMILES as values.

-
-
Return type:
-

dict

-
-
-
-
-
-kinoml.databases.pdb.download_pdb_structure(pdb_id: str, directory: str | pathlib.Path = user_cache_dir()) pathlib.Path | bool
-

Download a PDB structure. If the structure is not available in PDB format, it will be download -in CIF format.

-
-
Parameters:
-
    -
  • pdb_id (str) – The PDB ID of interest.

  • -
  • directory (str or Path, default=user_cache_dir) – The directory for saving the downloaded structure.

  • -
-
-
Returns:
-

The path to the the downloaded file if successful, else False.

-
-
Return type:
-

Path or False

-
-
-
-
-
-kinoml.databases.pdb.download_pdb_ligand(pdb_id: str, chain_id: str, expo_id: str, smiles: str = '', directory: str | pathlib.Path = user_cache_dir()) pathlib.Path | bool
-

Download a ligand co-crystallized to a PDB structure and save in SDF format. If a SMILES is -provided, the connectivity and protonation will be adjusted accordingly.

-
-
Parameters:
-
    -
  • pdb_id (str) – The PDB ID of interest.

  • -
  • chain_id (str) – The chain ID of the ligand.

  • -
  • expo_id (str) – The residue name of the ligand.

  • -
  • smiles (str, default="") – The smiles of the small molecule describing the connectivity and protonation of the -ligand.

  • -
  • directory (str or Path, default=user_cache_dir) – The directory for saving the downloaded structure.

  • -
-
-
Returns:
-

The path to the the processed ligand file in SDF format if successful, else False.

-
-
Return type:
-

Path or False

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/databases/uniprot/index.html b/docs/_build/html/api/kinoml/databases/uniprot/index.html deleted file mode 100644 index 596c6c1a..00000000 --- a/docs/_build/html/api/kinoml/databases/uniprot/index.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.databases.uniprot — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.databases.uniprot

-
-

Module Contents

-
-
-kinoml.databases.uniprot.download_fasta_file(uniprot_id: str, directory: pathlib.Path | str = user_cache_dir()) pathlib.Path | bool
-

Download a fasta file for a given UniProt identifier.

-
-
Parameters:
-
    -
  • uniprot_id (str) – The UniProt entry of interest.

  • -
  • directory (Path or str) – The path to a directory for saving the file.

  • -
-
-
Returns:
-

The path to the downloaded file, False if not successful.

-
-
Return type:
-

Path or bool

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/chembl/index.html b/docs/_build/html/api/kinoml/datasets/chembl/index.html deleted file mode 100644 index c3b3b353..00000000 --- a/docs/_build/html/api/kinoml/datasets/chembl/index.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.chembl — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.datasets.chembl

-

Creates DatasetProvider objects from ChEMBL activity data

-
-

Module Contents

-
-
-kinoml.datasets.chembl.logger
-
-
-
-class kinoml.datasets.chembl.ChEMBLDatasetProvider(measurements: Iterable[kinoml.core.measurements.BaseMeasurement], metadata: dict = None)
-

Bases: kinoml.datasets.core.MultiDatasetProvider

-

This provider relies heavily on openkinome/kinodata data ingestion -pipelines. It will load ChEMBL activities from its releases page.

-
-
-classmethod from_source(path_or_url='https://github.com/openkinome/datascripts/releases/download/v0.2/activities-chembl28_v0.2.zip', measurement_types=('pIC50', 'pKi', 'pKd'), uniprot_ids=None, sample=None, protein_type: str = 'KLIFSKinase', toolkit: str = 'OpenEye')
-

Create a MultiDatasetProvider out of the raw data contained in the zip file.

-
-
Parameters:
-
    -
  • path_or_url (str, optional) – path or URL to a (zipped) CSV file containing activities from ChEMBL, -using schema detailed below.

  • -
  • measurement_types (tuple of str, optional) – Which measurement types must be imported from the CSV. By default, all -three (pIC50, pKi, pKd) will be loaded, but you can choose a subset ( -e.g. ("pIC50",)).

  • -
  • uniprot_ids (None or list of str, default=None) – Restrict measurements to the given UniProt IDs.

  • -
  • sample (int, optional=None) – If set to larger than zero, load only N data points from the dataset.

  • -
  • protein_type (str, default=KLIFSKinase) – The protein object type to use (‘Protein’ or ‘KLIFSKinase’).

  • -
  • toolkit (str, default=OpenEye) – The toolkit to use for creating protein objects (e.g. ‘OpenEye’, ‘MDAnalysis’), -allowed values depend on the specified protein_type.

  • -
-
-
Raises:
-

ValueError – Given protein_type {protein_type} is not valid, only {allowed_protein_types} are -allowed.

-
-
-
-

Note

-

ChEMBL aggregates data from lots of sources, so conditions are guaranteed -to be different across experiments.

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/core/index.html b/docs/_build/html/api/kinoml/datasets/core/index.html deleted file mode 100644 index 0505d940..00000000 --- a/docs/_build/html/api/kinoml/datasets/core/index.html +++ /dev/null @@ -1,1080 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.core — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.datasets.core

-

Base classes for DatasetProvider-like objects

-
-

Module Contents

-
-
-kinoml.datasets.core.logger
-
-
-
-class kinoml.datasets.core.BaseDatasetProvider
-

Bases: object

-

API specification for dataset providers

-
-
-abstract property systems
-
-
-
-abstract property measurement_type
-
-
-
-abstract property conditions
-
-
-
-abstract classmethod from_source(path_or_url=None, **kwargs)
-

Parse CSV/raw files to object model.

-
-
-
-abstract observation_model(backend='pytorch')
-
-
-
-abstract measurements_as_array(reduce=np.mean)
-
-
-
-abstract measurements_by_group()
-
-
-
-abstract featurize(*featurizers: Iterable[kinoml.features.core.BaseFeaturizer])
-
-
-
-abstract featurized_systems(key='last')
-
-
-
-abstract to_dataframe(*args, **kwargs)
-
-
-
-abstract to_pytorch(**kwargs)
-
-
-
-abstract to_tensorflow(*args, **kwargs)
-
-
-
-abstract to_numpy(*args, **kwargs)
-
-
-
-
-class kinoml.datasets.core.DatasetProvider(measurements: Iterable[kinoml.core.measurements.BaseMeasurement], metadata: dict = None)
-

Bases: BaseDatasetProvider

-

Base object for all DatasetProvider classes.

-
-
Parameters:
-
    -
  • measurements (list of BaseMeasurement) – A DatasetProvider holds a list of kinoml.core.measurements.BaseMeasurement -objects (or any of its subclasses). They must be of the same type!

  • -
  • metadata (dict) – Extra information for provenance.

  • -
-
-
-
-

Note

-

All measurements must be of the same type! If they are not, consider -using MultiDatasetProvider instead.

-
-
-
-property systems
-
-
-
-property measurement_type
-
-
-
-property conditions: set
-
-
-
-_raw_data
-
-
-
-__len__()
-
-
-
-__getitem__(subscript)
-
-
-
-__repr__() str
-

Return repr(self).

-
-
-
-abstract classmethod from_source(path_or_url=None, **kwargs)
-

Parse CSV/raw file to object model. This method is responsible of generating -the objects for self.measurements, if relevant. Additional kwargs will be -passed to __init__.

-

You must define this in your subclass.

-
-
-
-featurize(featurizer: kinoml.features.core.BaseFeaturizer)
-

Given a collection of kinoml.features.core.BaseFeaturizers, apply them -to the systems present in the self.measurements.

-
-
Parameters:
-

featurizer (BaseFeaturizer) – Featurization scheme that will be applied to the systems, -in a stacked way.

-
-
-
-

Note

-
-
TODO:
    -
  • Will the systems be properly featurized with Dask?

  • -
-
-
-
-
-
-
-_post_featurize(featurizer: kinoml.features.core.BaseFeaturizer)
-

Remove measurements with systems, that were not successfully featurized.

-
-
Parameters:
-

featurizer (BaseFeaturizer) – The used featurizer.

-
-
-
-
-
-featurized_systems(key='last', clear_after=False)
-

Return the key featurized objects from all systems.

-
-
-
-abstract _to_dataset(style='pytorch')
-

Generate a clean <style>.data.Dataset object for further steps -in the pipeline (model building, etc).

-
-

Warning

-

This step is lossy because the resulting objects will no longer -hold chemical data. Operations depending on such information, -must be performed first.

-
-
-

Examples

-
>>> provider = DatasetProvider()
->>> provider.featurize()  # optional
->>> splitter = TimeSplitter()
->>> split_indices = splitter.split(provider.data)
->>> dataset = provider.to_dataset("pytorch")  # .featurize() under the hood
->>> X_train, X_test, y_train, y_test = train_test_split(dataset, split_indices)
-
-
-
-
-
-
-to_dataframe(*args, **kwargs)
-

Generates a pandas.DataFrame containing information on the systems -and their measurements

-
-
Return type:
-

pandas.DataFrame

-
-
-
-
-
-to_pytorch(featurizer=None, **kwargs)
-

Export dataset to a PyTorch-compatible object, via adapters -found in kinoml.torch_datasets.

-
-
-
-to_xgboost(**kwargs)
-

Export dataset to a DMatrix object, native to the XGBoost framework

-
-
-
-abstract to_tensorflow(*args, **kwargs)
-
-
-
-to_numpy(featurization_key='last', y_dtype='float32', **kwargs)
-

Export dataset to a tuple of two Numpy arrays of same shape:

-
    -
  • X: the featurized systems

  • -
  • y: the measurements values (must be the same measurement type)

  • -
-
-
Parameters:
-
    -
  • featurization_key (str, optional="last") – Which featurization present in the systems will be taken -to build the X array. Usually, last as provided -by a Pipeline object.

  • -
  • y_dtype – Coerce Y array to this dtype

  • -
  • str (np.dtype or) – Coerce Y array to this dtype

  • -
  • optional="float32" – Coerce Y array to this dtype

  • -
  • kwargs (optional,) – Dict that will be forwarded to .measurements_as_array, -which will build the y array.

  • -
-
-
Returns:
-

X, y

-
-
Return type:
-

2-tuple of np.array

-
-
-
-

Note

-

This exporter assumes that each System is featurized as a single -tensor with homogeneous shape throughout the system collection. -If this does not hold true for your current featurization -scheme, consider using .to_dict_of_arrays instead.

-
-
-
-
-to_dict_of_arrays(featurization_key='last', y_dtype='float32', _initial_system_index=0) dict
-

Export dataset to a dict-like object, compatible -with DictOfArrays and NPZ files.

-

The idea is to provide unique keys for each system -and their features, following the syntax -X_s{int}_v{int}.

-

This object is useful when the features for each system -have different shapes and/or dimensionality and cannot -be concatenated in a single homogeneous array

-
-
Parameters:
-
    -
  • featurization_key (Hashable, optional="last") – Which key to access in each System.featurizations dict

  • -
  • y_dtype (np.dtype or str, optional="float32") – Which kind of dtype to use for the y array

  • -
  • _initial_system_index (int, optional=0) – PRIVATE. Start counting systems in X_s{int} with this value.

  • -
-
-
Returns:
-

A dictionary that maps str keys to array-like -objects. Depending on the featurization scheme, keys -can be:

-
    -
  1. All systems are featurized as an array and they share the same shape --> X, y

  2. -
  3. All N systems are featurized as an array but they do NOT share the same shape --> X_s0_, X_s1_, ..., X_sN_

  4. -
  5. All N systems are featurized as a M-tuple of arrays (shape irrelevant) --> X_s0_a0_, X_s0_a1_, X_s1_a0_, X_s1_a1_, ..., X_sN_aM_

  6. -
-

-
-
Return type:
-

dict[str, array]

-
-
-
-

Note

-

The X keys have a trailing underscore on purpose. Otherwise, filtering -keys out of the dictionary by index can be deceivingly slow. For example, -filtering for the first system (s1) with key.startswith("X_s1") will -also select for X_s1, X_s10, X_s11… Hence, we filter with X_s{int}_.

-
-
-
-
-to_awkward(featurization_key='last', y_dtype='float32', clear_after=False)
-

Creates an awkward array out of the featurized systems -and the associated measurements.

-
-
Return type:
-

awkward array

-
-
-
-

Notes

-

Awkward Array is a library for nested, variable-sized data, -including arbitrary-length lists, records, mixed types, -and missing data, using NumPy-like idioms.

-

Arrays are dynamically typed, but operations on -them are compiled and fast. Their behavior coincides -with NumPy when array dimensions are regular -and generalizes when they’re not.

-
-
-
-
-observation_model(**kwargs)
-

Draft implementation of a modular observation model, based on individual contributions -from different measurement types.

-
-
-
-loss_adapter(**kwargs)
-

Observation model plus loss function, wrapped in a single callable. Return types are -backend-dependent.

-
-
-
-measurements_as_array(reduce=np.mean, dtype='float32')
-
-
-
-split_by_groups() dict
-

If a kinoml.datasets.groups class has been applied to this instance, -this method will create more DatasetProvider instances, one per group.

-
-
Returns:
-

Maps group key to sub-datasets

-
-
Return type:
-

dict

-
-
-
-
-
-classmethod _download_to_cache_or_retrieve(path_or_url) str
-

Helper function to either download files to the usercache, or -retrieve an already cached copy.

-
-
Parameters:
-

path_or_url (str or Path-like) – File path or URL pointing to the required file

-
-
Returns:
-

If provided argument is a file, the same path, right away -If it was a URL, it will be the (downloaded) cached file path

-
-
Return type:
-

str

-
-
-
-
-
-
-class kinoml.datasets.core.MultiDatasetProvider(measurements: Iterable[kinoml.core.measurements.BaseMeasurement], metadata: dict = None)
-

Bases: DatasetProvider

-

Adapter class that is able to expose a DatasetProvider-like -interface to a collection of Measurements of different types.

-

The different types are split into individual DatasetProvider -objects, stored under .providers.

-

The rest of the API works around that list to provide -similar functionality as the original, single-type DatasetProvider, -but in plural.

-
-
Parameters:
-

measurements (list of BaseMeasurement) – A MultiDatasetProvider holds a list of -kinoml.core.measurements.BaseMeasurement objects -(or any of its subclasses). Unlike DatasetProvider, -the measurements here can be of different types, but they -will be grouped together in different sub-datasets.

-
-
-
-
-property measurements
-

Flattened list of all measurements present across all providers.

-

Use .indices_by_provider() to obtain the corresponding slices -to each provider.

-
-
-
-_post_featurize(featurizer: kinoml.features.core.BaseFeaturizer)
-

Remove measurements with systems, that were not successfully featurized.

-
-
Parameters:
-

featurizer (BaseFeaturizer) – The used featurizer.

-
-
-
-
-
-observation_models(**kwargs)
-

List of observation models present in this dataset, -one per provider (measurement type)

-
-
-
-loss_adapters(**kwargs)
-

List of observation models present in this dataset, -one per provider (measurement type)

-
-
-
-abstract observation_model(**kwargs)
-

Draft implementation of a modular observation model, based on individual contributions -from different measurement types.

-
-
-
-abstract loss_adapter(**kwargs)
-

Observation model plus loss function, wrapped in a single callable. Return types are -backend-dependent.

-
-
-
-indices_by_provider() dict
-

Return a dict mapping each provider type to their -correlative indices in a hypothetically concatenated -dataset.

-

For example, if a MultiDatasetProvider contains -50 measurements of type A, and 25 measurements of -type B, this would return {"A": slice(0, 50), "B": slice(50, 75)}.

-
-

Note

-

slice objects can be passed directly to item access syntax, like -list[slice(a, b)].

-
-
-
-
-to_dataframe(*args, **kwargs)
-

Concatenate all the providers into a single DataFrame for easier visualization.

-

Check DatasetProvider.to_dataframe() for more details.

-
-
-
-to_numpy(**kwargs)
-

List of Numpy-native arrays, as generated by each provider.to_numpy(...) -method. Check DatasetProvider.to_numpy docstring for more details.

-
-
-
-to_pytorch(**kwargs)
-

List of Numpy-native arrays, as generated by each provider.to_pytorch(...) -method. Check DatasetProvider.to_pytorch docstring for more details.

-
-
-
-to_xgboost(**kwargs)
-

List of Numpy-native arrays, as generated by each provider.to_xgboost(...) -method. Check DatasetProvider.to_xgboost docstring for more details.

-
-
-
-to_dict_of_arrays(**kwargs) dict
-

Will generate a dictionary of str: np.ndarray. System indices -will be accumulated.

-
-
-
-to_awkward(**kwargs)
-

See DatasetProvider.to_awkward(). X and y will -be concatenated along axis=0 (one provider after another)

-
-
-
-__repr__() str
-

Return repr(self).

-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/groups/index.html b/docs/_build/html/api/kinoml/datasets/groups/index.html deleted file mode 100644 index 7d93b986..00000000 --- a/docs/_build/html/api/kinoml/datasets/groups/index.html +++ /dev/null @@ -1,626 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.groups — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.datasets.groups

-

Splitting strategies for datasets

-
-

Module Contents

-
-
-class kinoml.datasets.groups.BaseGrouper
-

Base class to assign groups to measurements in a DatasetProvider

-
-
-assign(dataset, overwrite=False, **kwargs)
-

Given a DatasetProvider, assign a key to the elements -of each group, as provided by .indices()

-
-
Parameters:
-
    -
  • dataset (DatasetProvider) –

  • -
  • overwrite (bool, optional=False) – If a measurement has been assigned a group already, -do not overwrite unless this option is set to True.

  • -
-
-
Returns:
-

dataset – The same dataset passed in the input, with -measurements modified in place.

-
-
Return type:
-

DatasetProvider

-
-
-
-
-
-abstract indices(dataset, **kwargs)
-

Given a dataset, create a dictionary that maps keys or labels -to a set of numerical indices. The strategy to follow will -depend on the subclass.

-
-
Parameters:
-

dataset (DatasetProvider) –

-
-
Returns:
-

Maps int` or ``str to a list of int

-
-
Return type:
-

dict

-
-
-
-
-
-
-class kinoml.datasets.groups.RandomGrouper(ratios)
-

Bases: BaseGrouper

-

Randomized groups following a split proportional to the provided ratios

-
-
Parameters:
-

ratios (tuple or dict) – 1-based ratios for the different groups. They must sum 1.0. If a -dict is provided, the keys are used to label the resulting groups. -Otherwise, the groups are 0-enumerated.

-
-
-
-
-indices(dataset, **kwargs)
-

Given a dataset, create a dictionary that maps keys or labels -to a set of numerical indices. The strategy to follow will -depend on the subclass.

-
-
Parameters:
-

dataset (DatasetProvider) –

-
-
Returns:
-

Maps int` or ``str to a list of int

-
-
Return type:
-

dict

-
-
-
-
-
-
-class kinoml.datasets.groups.CallableGrouper(function)
-

Bases: BaseGrouper

-

A grouper that applies a user-provided function to each Measurement -in the Dataset. Returned value should be the name of the group.

-
-
Parameters:
-

function (callable) – This function must be able to take a Measurement object -and return a str or int.

-
-
-
-
-indices(dataset, progress=True)
-

Given a dataset, create a dictionary that maps keys or labels -to a set of numerical indices. The strategy to follow will -depend on the subclass.

-
-
Parameters:
-

dataset (DatasetProvider) –

-
-
Returns:
-

Maps int` or ``str to a list of int

-
-
Return type:
-

dict

-
-
-
-
-
-
-class kinoml.datasets.groups.BaseFilter
-

Bases: BaseGrouper

-

Base class to assign groups to measurements in a DatasetProvider

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/index.html b/docs/_build/html/api/kinoml/datasets/index.html deleted file mode 100644 index 19fa4aab..00000000 --- a/docs/_build/html/api/kinoml/datasets/index.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/pkis2/index.html b/docs/_build/html/api/kinoml/datasets/pkis2/index.html deleted file mode 100644 index 30ada65c..00000000 --- a/docs/_build/html/api/kinoml/datasets/pkis2/index.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.pkis2 — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.datasets.pkis2

-
-

Module Contents

-
-
-kinoml.datasets.pkis2.logger
-
-
-
-class kinoml.datasets.pkis2.PKIS2DatasetProvider(measurements: Iterable[kinoml.core.measurements.BaseMeasurement], metadata: dict = None)
-

Bases: kinoml.datasets.core.DatasetProvider

-

Loads the PKIS2 dataset as provided in _Progress towards a public chemogenomic set for protein -kinases and a call for contributions [1].

-

[1]: DOI: 10.1371/journal.pone.0181585

-
-

Examples

-
>>> from kinoml.datasets.pkis2 import PKIS2DatasetProvider
->>> provider = PKIS2DatasetProvider.from_source()
->>> provider
-
-
-
-
-
-classmethod from_source(path_or_url: str | pathlib.Path = datapath('kinomescan/journal.pone.0181585.s004.csv'), path_or_url_constructs: str | pathlib.Path = datapath('kinomescan/DiscoverX_489_Kinase_Assay_Construct_Information.csv'), protein_type: str = 'KLIFSKinase', toolkit: str = 'OpenEye')
-

Create a PKIS2 DatasetProvider from the raw data.

-
-
Parameters:
-
    -
  • path_or_url (str or pathlib.Path) – CSV file with the protein-ligand measurements.

  • -
  • path_or_url_constructs (str or pathlib.Path) – CSV file with the construct information.

  • -
  • protein_type (str, default=KLIFSKinase) – The protein object type to use (‘Protein’ or ‘KLIFSKinase’).

  • -
  • toolkit (str, default=OpenEye) – The toolkit to use for creating protein objects (e.g. ‘OpenEye’, ‘MDAnalysis’), -allowed values depend on the specified protein_type.

  • -
-
-
Raises:
-

ValueError – Given protein_type {protein_type} is not valid, only {protein_type_classes.keys()} are -allowed.

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/torch_datasets/index.html b/docs/_build/html/api/kinoml/datasets/torch_datasets/index.html deleted file mode 100644 index 145f8c5b..00000000 --- a/docs/_build/html/api/kinoml/datasets/torch_datasets/index.html +++ /dev/null @@ -1,875 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.torch_datasets — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.datasets.torch_datasets

-

Helper classes to convert between DatasetProvider objects and -Dataset-like objects native to the PyTorch ecosystem

-
-

Module Contents

-
-
-class kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset(systems, measurements, observation_model: callable = _null_observation_model)
-

Bases: torch.utils.data.Dataset

-

Exposes the X, y (systems and measurements, respectively) -arrays exported by DatasetProvider using the API expected -by Torch DataLoaders.

-
-
Parameters:
-
    -
  • systems (array-like) – X vectors, as exported from featurized systems in DatasetProvider

  • -
  • measurements (array-like) – y vectors, as exported from the measurement values contained in a -DatasetProvider

  • -
  • observation_model (callable, optional) – A function that adapts the predicted y to the observed y -values. Useful to combine measurement types in the same model, if -they are mathematically related. Normally provided by the -Measurement type class.

  • -
-
-
-
-
-__getitem__(index)
-
-
-
-__len__()
-
-
-
-as_dataloader(**kwargs)
-

Build a PyTorch DataLoader view of this Dataset

-
-
-
-estimate_input_size() int
-

Estimate the input size for a model, using -the first dimension of the X vector shape.

-
-
-
-
-class kinoml.datasets.torch_datasets.TorchDataset(systems, measurements, featurizer, observation_model: callable = _null_observation_model)
-

Bases: PrefeaturizedTorchDataset

-

Same purpose as PrefeaturizedTorchDataset, but -instead of taking arrays in, it takes the non-featurized -System and Measurement``objects, and applies a -``featurizer on the fly upon access (e.g. during training).

-
-
Parameters:
-
    -
  • systems (list of kinoml.core.systems.System) –

  • -
  • measurements (list of kinoml.core.measurements.BaseMeasurement) –

  • -
  • featurizer (callable) – A function that takes a System and returns an array-like -object.

  • -
  • observation_model (callable, optional) – A function that adapts the predicted y to the observed y -values. Useful to combine measurement types in the same model, if -they are mathematically related. Normally provided by the -Measurement type class.

  • -
-
-
-
-
-estimate_input_size()
-

Estimate the input size for a model, using -the first dimension of the X vector shape.

-
-
-
-__getitem__(index)
-

In this case, the DatasetProvider is passing System objects that will -be featurized (and memoized) upon access only.

-
-
-
-
-class kinoml.datasets.torch_datasets.XyTorchDataset(X, y, indices=None)
-

Bases: torch.utils.data.Dataset

-

Simple Torch Dataset adaptor where X and y are homogeneous tensors. -All systems have the shape.

-
-
Parameters:
-
    -
  • X (arraylike) – Featurized systems and their measurements

  • -
  • y (arraylike) – Featurized systems and their measurements

  • -
  • indices (dict of array selectors) – It will only accept train, train/test or train/test/val keys.

  • -
-
-
-
-
-classmethod from_npz(path)
-

Load X and y arrays from a NPZ file present in disk. -These files must expose at least two keys: X and y. -It can also contain three more: idx_train, idx_test -and idx_val, which correspond to the indices of the -training, test and validation subsets.

-
-
Parameters:
-

npz (str) – Path to a NPZ file with the keys exposed above.

-
-
-
-
-
-__getitem__(index)
-
-
-
-__len__()
-
-
-
-input_size()
-
-
-
-
-class kinoml.datasets.torch_datasets.MultiXTorchDataset(dict_of_arrays, indices=None)
-

Bases: torch.utils.data.Dataset

-

This class is able to load NPZ files into a torch.Dataset compliant -object.

-

It assumes the following things. If each system is characterized with -a single tensor:

-
    -
  • The X tensors can be of the same shape. In that case, the NPZ file -only has a single X key, preloaded and accessible via .data_X`. -When queried, it returns a view to the ``torch.tensor object.

  • -
  • The X tensors have different shape. In that case, the keys of the NPZ -follow the X_s{int} syntax. When queried, it returns a list of -torch.tensor objects.

  • -
-

If each system is characterized with more than one tensor:

-
    -
  • The NPZ keys follow the X_s{int}_a{int} syntax. When queried, it -returns a list of tuples of torch.tensor objects.

  • -
-

No matter the structure of X, y is assumed to be a homogeneous -tensor, and it will always be returned as a view to the underlying -torch.tensor object.

-

Additionally, the NPZ file might contain idx_train, idx_test (and idx_val) -arrays, specifying indices for the train / test / validation split. If provided, -they will be stored under an .indices dict.

-
-
Parameters:
-
    -
  • dict_of_arrays (dict of np.ndarray) – See above.

  • -
  • indices (dict of np.ndarray) –

  • -
-
-
-
-

Notes

-
    -
  • This object is better paired with the output of DatasetProvider.to_dict_of_arrays.

  • -
-
-
-
-classmethod from_npz(path, lazy=True, close_filehandle=False)
-

Load from a single NPZ file. If lazy=True, this can be very slow -for large amounts of arrays.

-
-
Parameters:
-
    -
  • path (str) – Path to the NPZ file

  • -
  • lazy (bool, optional=True) – Whether to let Numpy load arrays on demand, upon access (True) -or preload everything in memory (False)

  • -
  • close_filehandle (bool, optional=False) – Whether to close the NPZ filehandle after reading some metadata. This will -enable parallelism without preloading everything, but each access will suffer -the overhead of opening the NPZ file again!

  • -
-
-
-
-

Note

-

NPZ files cannot be read in parallel (you’ll see CRC32 errors and others). If you want -to use DataLoader(..., num_workers=2) or above, you’ll need to:

-
    -
  • A) preload everything with lazy=False. This will use more RAM and incur -an initial waiting time.

  • -
  • B) use close_filehandle=True. This will incur a penalty upon each access, -because the NPZ file needs to be reloaded each time.

  • -
-
-
-
-
-_getitem_multi_X(accessor)
-

Note: This method might scale poorly and can end up being a bottleneck! -Most of the time is spent accessing the NPZ file on disk, though.

-

Some timings:

-
>>> ds = MultiXTorchDataset.from_npz("ChEMBLDatasetProvider.npz")
->>> %timeit _ = ds[0:2]
-2.91 ms ± 222 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
->>> %timeit _ = ds[0:4]
-5.59 ms ± 253 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
->>> %timeit _ = ds[0:8]
-11.4 ms ± 1.02 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
->>> %timeit _ = ds[0:16]
-22.7 ms ± 1.27 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
->>> %timeit _ = ds[0:32]
-44.7 ms ± 4.47 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
->>> %timeit _ = ds[0:64]
-87 ms ± 2.74 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
->>> %timeit _ = ds[0:128]
-171 ms ± 2.68 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
-
-
-
-
-
-_getitem_single_X(index)
-
-
-
-__getitem__(index)
-
-
-
-_shape_X()
-
-
-
-is_single_X()
-
-
-
-_str_keys_to_nested_dict(keys)
-
-
-
-static _key_to_ints(key: str) List[int]
-

NPZ keys are formatted with this syntax:

-

{X|y}_{1-character str}{int}_{1-character str}{int}_

-

We split by underscores and extract the ints into a list

-
-
-
-__len__()
-
-
-
-
-class kinoml.datasets.torch_datasets.AwkwardArrayDataset(data)
-

Bases: torch.utils.data.Dataset

-

Loads an Awkward array of Records.

-

The structure of the array dimensions needs to be:

-
    -
  • List of systems

  • -
-

—- X1 -—- X2 -—- … -—- Xn -—- y

-

However, X1…Xn, y are accessed by positional index, as a string.

-

So, to get all the X1 vectors for all systems, you’d do:

-

X1 = data[“0”] -X2 = data[“1”]

-

Since y is always the last one you can use the data.fields -list:

-

y = data[data.fields[-1]]

-

This is essentially what __getitem__ is doing for you.

-

It will try to consolidate tensors whenever possible, as long as -they have the same shape. If they do not, then you’ll get a list -of tensors instead.

-

If this is the case, make sure to provide a suitable collate_fn -function for the corresponding Dataloader! More info:

-

https://pytorch.org/docs/stable/data.html#dataloader-collate-fn

-
-

Notes

-

With several tensors per system, but all of the same shape, it is faster:

-
>>> awk = AwkwardArrayDataset.from_parquet("same_shape.parquet")
->>> %timeit _ = awk[:50]
-2.38 ms ± 286 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
->>> awk = AwkwardArrayDataset.from_parquet("different_shape.parquet")
->>> %timeit _ = awk[:50]
-9.32 ms ± 252 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
-
-
-

This is probably due to the Awkward->Numpy->Torch conversions that need -to happen for each different-shape sub-tensor. Look in __getitem__ -for bottlenecks.

-
-
-
-__len__()
-
-
-
-__getitem__(index)
-
-
-
-__repr__()
-

Return repr(self).

-
-
-
-__str__()
-

Return str(self).

-
-
-
-classmethod from_parquet(path, **kwargs)
-
-
-
-
-kinoml.datasets.torch_datasets._accessor_to_indices(accessor, full_size)
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/datasets/torch_geometric_datasets/index.html b/docs/_build/html/api/kinoml/datasets/torch_geometric_datasets/index.html deleted file mode 100644 index 65a672f7..00000000 --- a/docs/_build/html/api/kinoml/datasets/torch_geometric_datasets/index.html +++ /dev/null @@ -1,548 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.datasets.torch_geometric_datasets — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.datasets.torch_geometric_datasets

-

Helper classes to convert between DatasetProvider objects and -Dataset-like objects native to the PyTorch ecosystem

-
-

Module Contents

-
-
-class kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset(data)
-

Bases: torch.utils.data.Dataset

-

Loads an Awkward array of Records suitable for PyTorch Geometric. -It assumes the following:

-
    -
  • The Awkward array contains three fields: 0, 1 and 2

  • -
  • 0: Conn. matrix –> Data’s edge_index

  • -
  • 1: Node features –> Data’s x

  • -
  • 2: y labels

  • -
-

If more attributes are needed, you need to modify __getitem__ logic

-
-
-__len__()
-
-
-
-__getitem__(index)
-
-
-
-abstract __iter__()
-
-
-
-__repr__()
-

Return repr(self).

-
-
-
-__str__()
-

Return str(self).

-
-
-
-classmethod from_parquet(path, **kwargs)
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/docking/OEDocking/index.html b/docs/_build/html/api/kinoml/docking/OEDocking/index.html deleted file mode 100644 index 520d526d..00000000 --- a/docs/_build/html/api/kinoml/docking/OEDocking/index.html +++ /dev/null @@ -1,605 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.docking.OEDocking — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
- -
- -
-
- -
-

kinoml.docking.OEDocking

-
-

Module Contents

-
-
-kinoml.docking.OEDocking.resids_to_box_molecule(protein: openeye.oechem.OEMolBase, resids: List[int]) openeye.oechem.OEGraphMol
-

Retrieve a box molecule spanning the given protein residue IDs.

-
-
Parameters:
-
    -
  • protein (oechem.OEMolBase) – An OpenEye molecule holding a protein structure.

  • -
  • resids (list of int) – A list of resids defining the residues of interest.

  • -
-
-
Returns:
-

box_molecule – Rectangular box molecule spanning the region of the given protein defined by the given -residue IDs.

-
-
Return type:
-

oechem.OEGraphMol

-
-
-
-
-
-kinoml.docking.OEDocking.pose_molecules(design_unit: openeye.oechem.OEDesignUnit, molecules: List[openeye.oechem.OEMolBase], pKa_norm: bool = True, score_pose: bool = False) List[openeye.oechem.OEGraphMol] | None
-

Generate a binding pose of molecules in a prepared receptor with OpenEye’s Posit method.

-
-
Parameters:
-
    -
  • design_unit (oechem. OEDesignUnit) – A design unit with a receptor object.

  • -
  • molecules (list of oechem.OEMolBase) – A list of OpenEye molecules holding prepared molecules for docking.

  • -
  • pKa_norm (bool, default=True) – Assign the predominant ionization state at pH ~7.4.

  • -
  • score_pose (bool, default=False) – Score the best docking pose per ligand and add the proper SD tag.

  • -
-
-
Returns:
-

posed_molecules – A list of OpenEye molecules holding the docked molecules.

-
-
Return type:
-

list of oechem.OEGraphMol or None

-
-
-
-
-
-kinoml.docking.OEDocking.run_docking(design_unit: openeye.oechem.OEDesignUnit, molecules: List[openeye.oechem.OEMolBase], dock_method: int, num_poses: int = 1, pKa_norm: bool = True) List[openeye.oechem.OEGraphMol] | None
-

Dock molecules into a prepared design unit containing a receptor object.

-
-
Parameters:
-
    -
  • design_unit (oechem.OEDesignUnit) – A design unit with a receptor object.

  • -
  • molecules (list of oechem.OEMolBase) – A list of OpenEye molecules holding prepared molecules for docking.

  • -
  • dock_method (int) – Constant defining the docking method.

  • -
  • num_poses (int) – Number of docking poses to generate per molecule.

  • -
  • pKa_norm (bool, default=True) – Assign the predominant ionization state at pH ~7.4.

  • -
-
-
Returns:
-

docked_molecules – A list of OpenEye molecules holding the docked molecules.

-
-
Return type:
-

list of oechem.OEGraphMol or None

-
-
-
-
-
-kinoml.docking.OEDocking.hybrid_docking(design_unit: openeye.oechem.OEDesignUnit, molecules: List[openeye.oechem.OEMolBase], num_poses: int = 1, pKa_norm: bool = True) List[openeye.oechem.OEGraphMol] | None
-

Dock molecules into a prepared design unit containing a hybrid receptor object.

-
-
Parameters:
-
    -
  • design_unit (oechem.OEDesignUnit) – A design unit with a hybrid receptor object.

  • -
  • molecules (list of oechem.OEMolBase) – A list of OpenEye molecules holding prepared molecules for docking.

  • -
  • num_poses (int) – Number of docking poses to generate per molecule.

  • -
  • pKa_norm (bool, default=True) – Assign the predominant ionization state at pH ~7.4.

  • -
-
-
Returns:
-

docked_molecules – A list of OpenEye molecules holding the docked molecules.

-
-
Return type:
-

list of oechem.OEGraphMol or None

-
-
-
-
-
-kinoml.docking.OEDocking.fred_docking(design_unit: openeye.oechem.OEDesignUnit, molecules: List[openeye.oechem.OEMolBase], num_poses: int = 1, pKa_norm: bool = True) List[openeye.oechem.OEGraphMol] | None
-

Dock molecules into a prepared design unit containing a receptor object.

-
-
Parameters:
-
    -
  • design_unit (oechem.OEDesignUnit) – A design unit with a receptor object.

  • -
  • molecules (list of oechem.OEMolBase) – A list of OpenEye molecules holding prepared molecules for docking.

  • -
  • num_poses (int) – Number of docking poses to generate per molecule.

  • -
  • pKa_norm (bool, default=True) – Assign the predominant ionization state at pH ~7.4.

  • -
-
-
Returns:
-

docked_molecules – A list of OpenEye molecules holding the docked molecules.

-
-
Return type:
-

list of oechem.OEGraphMol or None

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/docking/SCHRODINGERDocking/index.html b/docs/_build/html/api/kinoml/docking/SCHRODINGERDocking/index.html deleted file mode 100644 index 7fabf808..00000000 --- a/docs/_build/html/api/kinoml/docking/SCHRODINGERDocking/index.html +++ /dev/null @@ -1,523 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.docking.SCHRODINGERDocking — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.docking.SCHRODINGERDocking

-
-

Module Contents

-
-
-kinoml.docking.SCHRODINGERDocking.logger
-
-
-
-kinoml.docking.SCHRODINGERDocking.run_glide(schrodinger_directory: pathlib.Path | str, input_file_mae: pathlib.Path | str, output_file_sdf: pathlib.Path | str, mols_smiles: List[str], ligand_resname: str | None, n_poses: int = 1, mols_names: List[str] | None = None, shape_restrain: bool = True, macrocyles: bool = False, precision: str = 'XP', cache_dir: pathlib.Path | str = user_cache_dir())
-

Run glide for protein ligand docking.

-
-
Parameters:
-
    -
  • schrodinger_directory (Path or str) – The path to the directory of the Schrodinger installation.

  • -
  • input_file_mae (Path or str) – The path to the input file in MAE format containing the protein structure to dock to and a -co-crystallized ligand in the binding pocket of interest.

  • -
  • output_file_sdf (Path or str) – The path to the output file of the generated in docking poses in SDF format.

  • -
  • mols_smiles (list of str) – The molecules to dock as SMILES representation.

  • -
  • ligand_resname (str or None) – The resname of the co-crystallized ligand, which will be used for pocket definition.

  • -
  • mols_names (None or list of str, default=None) – The names of the molecules to dock. Will be used as molecule title in the SDF file. If -None, names will be numbers (1,..,len(mols_smiles).

  • -
  • n_poses (int, default=1) – Number of poses to generate per molecule.

  • -
  • shape_restrain (bool, default=True) – If the co-crystallized ligand shell be used for shape restrained docking.

  • -
  • macrocyles (bool, default=False) – Macrocycle conformations will be sampled with an appropriate algorithm. All non- -macrocyclic molecules by detected by SCHRODINGER will be skipped.

  • -
  • precision (str, default="XP") – The docking precision to use [“HTVS”, “SP”, “XP”].

  • -
  • cache_dir (Path or str, default=appdirs.user_cache_dir()) – Path to a directory for caching grids for docking.

  • -
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/docking/index.html b/docs/_build/html/api/kinoml/docking/index.html deleted file mode 100644 index de115371..00000000 --- a/docs/_build/html/api/kinoml/docking/index.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.docking — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/features/complexes/index.html b/docs/_build/html/api/kinoml/features/complexes/index.html deleted file mode 100644 index 4bf0a34a..00000000 --- a/docs/_build/html/api/kinoml/features/complexes/index.html +++ /dev/null @@ -1,1628 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.features.complexes — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.features.complexes

-

Featurizers that can only get applied to ProteinLigandComplexes or -subclasses thereof

-
-

Module Contents

-
-
-kinoml.features.complexes.logger
-
-
-
-class kinoml.features.complexes.SingleLigandProteinComplexFeaturizer(**kwargs)
-

Bases: kinoml.features.core.ParallelBaseFeaturizer

-

Provides a minimally useful ._supports() method for all -ProteinLigandComplex-like featurizers.

-
-
-_COMPATIBLE_PROTEIN_TYPES = ()
-
-
-
-_COMPATIBLE_LIGAND_TYPES = ()
-
-
-
-_supports(system: kinoml.core.systems.ProteinLigandComplex) bool
-

Check that exactly one protein and one ligand is present in the System

-
-
-
-
-class kinoml.features.complexes.MostSimilarPDBLigandFeaturizer(similarity_metric: str = 'fingerprint', cache_dir: str | pathlib.Path | None = None, **kwargs)
-

Bases: SingleLigandProteinComplexFeaturizer

-

Find the most similar co-crystallized ligand in the PDB according to a -given SMILES and UniProt ID.

-

The protein component of each system must be a core.proteins.Protein or -a subclass thereof, and must be initialized with a uniprot_id parameter.

-

The ligand component of each system must be a core.ligands.Ligand or a -subclass thereof and give access to the molecular structure, e.g. via a -SMILES.

-
-
Parameters:
-
    -
  • similarity_metric (str, default="fingerprint") – The similarity metric to use to detect the structure with the most -similar ligand [“fingerprint”, “mcs”, “openeye_shape”, -“schrodinger_shape”].

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
-
-
-
-

Note

-

The toolkit [‘MDAnalysis’ or ‘OpenEye’] specified in the protein object -initialization should fit the required toolkit when subsequently applying -the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.

-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-_SUPPORTED_SIMILARITY_METRICS = ('fingerprint', 'mcs', 'openeye_shape', 'schrodinger_shape')
-
-
-
-_pre_featurize(systems: List[kinoml.core.systems.ProteinLigandComplex]) None
-

Check that SCHRODINGER variable exists.

-
-
-
-_check_schrodinger()
-

Check that SCHRODINGER variable exists.

-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) kinoml.core.systems.ProteinLigandComplex | None
-

Find a PDB entry with a protein of the given UniProt ID and with the most similar -co-crystallized ligand.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

The same system, but with additional protein attributes, i.e. pdb_id, chain_id and -expo_id. None if no suitable PDB entry was found.

-
-
Return type:
-

ProteinLigandComplex or None

-
-
-
-
-
-_post_featurize(systems: List[kinoml.core.systems.ProteinLigandComplex], features: List[kinoml.core.systems.ProteinLigandComplex], keep: bool = True) List[kinoml.core.systems.ProteinLigandComplex]
-

Run after featurizing all systems. Original systems will be replaced with systems -returned by the featurizer. Systems that were not successfully featurized will be -removed and listed in a log file in the current working directory.

-
-
Parameters:
-
    -
  • systems (list of ProteinLigandComplex) – The systems being featurized.

  • -
  • features (list of ProteinLigandComplex) – The features returned by self._featurize, i.e. new systems.

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

The new systems with .featurizations extended with the calculated features in two -entries: the featurizer name and last.

-
-
Return type:
-

list of ProteinLigandComplex

-
-
-
-
-
-_get_pdb_ligand_entities(uniprot_id: str) pandas.DataFrame | None
-

Get PDB ligand entities bound to protein structures of the given UniProt ID. Only X-ray -structures will be considered. If a ligand is co-crystallized with multiple PDB structures -the ligand entity with the lowest resolution will be returned.

-
-
Parameters:
-

uniprot_id (str) – The UniProt ID of the protein of interest.

-
-
Returns:
-

A DataFrame with columns ligand_entity, pdb_id, non_polymer_id, chain_id, -expo_id and resolution. None if no suitable ligand entities were found.

-
-
Return type:
-

pd.DataFrame or None

-
-
-
-
-
-static _add_ligand_entity_info(pdb_ligand_entities: pd.DataFrame) pd.DataFrame
-

Add chain and expo ID information to the PDB ligand entities dataframe.

-
-
Parameters:
-

pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with a column named ligand_entity. This column -must contain strings in the format ‘4YNE_3’, i.e. the third non polymer entity of -PDB entry 4YNE.

-
-
Returns:
-

The same PDB ligand entities dataframe but with additional columns named chain_id -and expo_id. PDB ligand entities without such information are removed.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-static _add_pdb_resolution(pdb_ligand_entities: pd.DataFrame) pd.DataFrame
-

Add resolution information to the PDB ligand entities dataframe.

-
-
Parameters:
-

pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with a column named pdb_id. This column must -contain strings in the format ‘4YNE’, i.e. PDB entry 4YNE.

-
-
Returns:
-

The same PDB ligand entities dataframe but with an additional column named -resolution. PDB ligand entities without such information will get a dummy -resolution of 99.9.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-_get_most_similar_pdb_ligand_entity(pdb_ligand_entities: pd.DataFrame, smiles: str) Tuple[str, str, str]
-

Get the PDB ligand that is most similar to the given SMILES.

-
-
Parameters:
-

pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with columns named pdb_id, chain_id and -expo_id.

-
-
Returns:
-

The PDB, chain and expo ID of the most similar ligand.

-
-
Return type:
-

tuple of str

-
-
-
-
-
-static _by_fingerprint(pdb_ligand_entities: pandas.DataFrame, smiles: str, max_similarity_cutoff: float = 0.0) pandas.DataFrame
-

Get the PDB ligands that are most similar to the given SMILES according to Morgan -Fingerprints.

-
-
Parameters:
-
    -
  • pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with columns named pdb_id, chain_id, expo_id -and smiles.

  • -
  • smiles (str) – The SMILES representation of the molecule to search for similar PDB ligands.

  • -
  • max_similarity_cutoff (float, default=0.0) – The cutoff to use for selecting similar ligands based on the highest detected -similarity. If the highest detected similarity is 0.87 and the max_similarity_cutoff -is set to 0.1, all ligands will be returned with a similarity of 0.77 or higher.

  • -
-
-
Returns:
-

The most similar ligands.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-static _by_mcs(pdb_ligand_entities: pd.DataFrame, smiles: str, max_bonds_cutoff: float = 0.0) pd.DataFrame
-

Get the PDB ligands that are most similar to the given SMILES according to the number of -bonds in the maximum common substructures.

-
-
Parameters:
-
    -
  • pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with columns named pdb_id, chain_id, expo_id -and smiles.

  • -
  • smiles (str) – The SMILES representation of the molecule to search for similar PDB ligands.

  • -
  • max_bonds_cutoff (float, default=0.0) – The cutoff to use for selecting similar ligands based on the highest detected number -of MCS bonds and the possible maximum of MCS bonds. The possible maximum number is -calculated from the number of bonds in the given smiles. If the possible maximum -number is 35, the highest number of detected mcs bonds is 20 and the max_bonds_cutoff -is 0.1, all ligands will be returned with a number of MCS bonds of 16.5 -(20 - (35 * 0.1)) or higher.

  • -
-
-
Returns:
-

The most similar ligands.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-_by_schrodinger_shape(pdb_ligand_entities: pandas.DataFrame, smiles: str, max_similarity_cutoff: float = 0.0) pandas.DataFrame
-

Get the PDB ligands that are most similar to the given SMILES according to SCHRODINGER -shape_screen.

-
-
Parameters:
-
    -
  • pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with columns named pdb_id, chain_id, expo_id -and smiles.

  • -
  • smiles (str) – The SMILES representation of the molecule to search for similar PDB ligands.

  • -
  • max_similarity_cutoff (float, default=0.0) – The cutoff to use for selecting similar ligands based on the highest detected -similarity. If the highest detected similarity is 0.87 and the max_similarity_cutoff -is set to 0.1, all ligands will be returned with a similarity of 0.77 or higher.

  • -
-
-
Returns:
-

The most similar ligands.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-_by_openeye_shape(pdb_ligand_entities: pandas.DataFrame, smiles: str, max_similarity_cutoff: float = 0.0) pandas.DataFrame
-

Get the PDB ligands that are most similar to the given SMILES according to OpenEye’s -TanimotoCombo score.

-
-
Parameters:
-
    -
  • pdb_ligand_entities (pd.DataFrame) – The PDB ligand entities dataframe with columns named pdb_id, chain_id, expo_id -and smiles.

  • -
  • smiles (str) – The SMILES representation of the molecule to search for similar PDB ligands.

  • -
  • max_similarity_cutoff (float, default=0.0) – The cutoff to use for selecting similar ligands based on the highest detected -similarity. If the highest detected similarity is 1.31 and the max_similarity_cutoff -is set to 0.2, all ligands will be returned with a similarity of 1.11 or higher.

  • -
-
-
Returns:
-

The most similar ligands.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-
-class kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer(**kwargs)
-

Bases: MostSimilarPDBLigandFeaturizer

-

Find suitable kinase templates for modeling a kinase:inhibitor complex in -different KLIFS conformations.

-

The protein component of each system must be a core.proteins.KLIFSKinase, -and must be initialized with a uniprot_id or kinase_klifs_id parameter.

-

The ligand component of each system must be a core.ligands.Ligand or a -subclass thereof and give access to the molecular structure, e.g. via a -SMILES.

-
-
Parameters:
-
    -
  • similarity_metric (str, default="fingerprint") – The similarity metric to use to detect the structures with similar -ligands [“fingerprint”, “mcs”, “openeye_shape”, “schrodinger_shape”].

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
-
-
-
-
-_COMPATIBLE_PROTEIN_TYPES = ()
-
-
-
-_pre_featurize(systems: List[kinoml.core.systems.ProteinLigandComplex]) None
-

Check SCHRODINGER variable and fetch KLIFS data.

-
-
-
-_create_klifs_structure_db()
-

Fetch structure data from KLIFS.

-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) pandas.DataFrame
-

Find PDB entries for different KLIFS conformations with a similar co-crystallized ligand -and a similar pocket sequence.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

A dataframe with columns for dfg, ac_helix, pdb_id, chain_id, expo_id, -ligand_similarity and sequence_similarity.

-
-
Return type:
-

DataFrame

-
-
-
-
-
-static _filter_structures(structures: pd.DataFrame) pd.DataFrame
-

Filter KLIFS entries for the presence of exactly one orthosteric ligand and determined -KLIFS conformation, and remove duplicates.

-
-
Parameters:
-

structures (DataFrame) – The KLIFS entries to filter, need to contain the columns ligand.expo_id, -structure.pdb_id, structure.dfg, structure.ac_helix, structure.qualityscore, -structure.resolution, structure.chain and structure.alternate_model.

-
-
Returns:
-

The filtered KLIFS entries.

-
-
Return type:
-

DataFrame

-
-
-
-
-
-_get_most_similar_klifs_ligand_entity(structures: pd.DataFrame, smiles: str, klifs_sequence: str) Tuple[str, str, str, str, str]
-

Get the KLIFS entry that is most similar to the given SMILES and KLIFS pocket sequence.

-
-
Parameters:
-

structures (pd.DataFrame) – The KLIFS entries dataframe with columns named structure.pdb_id, structure.chain, -structure.expo_id, smiles and structure.pocket.

-
-
Returns:
-

The PDB ID, chain ID, expo ID, ligand similarity and pocket similarity of the KLIFS -entry with the most similar ligand and KLIFS pocket sequence.

-
-
Return type:
-

tuple of str

-
-
-
-
-
-static _by_klifs_sequence(klifs_structures: pd.DataFrame, reference_klifs_sequence: str, max_similarity_cutoff: float = 0.0) pd.DataFrame
-

Get the KLIFS entries that are most similar to the given pocket sequence.

-
-
Parameters:
-
    -
  • reference_klifs_sequence (str) – The PDB ligand entities dataframe with a column named structure.pocket.

  • -
  • reference_klifs_sequence – The sequence for calculating the similarity.

  • -
  • max_similarity_cutoff (float, default=0.0) – The cutoff to use for selecting similar sequences based on the highest detected -sequence similarity and the possible maximum of sequence similarity. The possible -maximum sequence similarity is aligning the reference sequence to itself. If the -possible maximum sequence similarity is 450, the highest detected sequence similarity -is 320 and the max_similarity_cutoff is 0.1, all entries will be returned with a -sequence similarity of 275 (320 - (450 * 0.1)) or higher.

  • -
-
-
Returns:
-

The KLIFS entries with the most similar pocket sequences.

-
-
Return type:
-

pd.DataFrame

-
-
-
-
-
-_post_featurize(systems: List[kinoml.core.systems.ProteinLigandComplex], features: List, keep: bool = True) List[kinoml.core.systems.ProteinLigandComplex]
-

Run after featurizing all systems. Systems with a feature of None will be removed and -listed in a log file in the current working directory. You shouldn’t need to redefine -this method.

-
-
Parameters:
-
    -
  • systems (list of System) – The systems being featurized

  • -
  • features (list) – The features returned by self._featurize

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

filtered_systems – The same systems as passed, but with .featurizations extended with -the calculated features in two entries: the featurizer name and last. -Systems with a feature of None will be removed.

-
-
Return type:
-

systems

-
-
-
-
-
-
-class kinoml.features.complexes.OEComplexFeaturizer(**kwargs)
-

Bases: kinoml.features.core.OEBaseModelingFeaturizer, SingleLigandProteinComplexFeaturizer

-

Given systems with exactly one protein and one ligand, prepare the complex -structure by:

-
-
    -
  • modeling missing loops with OESpruce according to the PDB header unless -a custom sequence is specified via the uniprot_id or sequence -attribute in the protein component (see below), missing sequences at -N- and C-termini are not modeled

  • -
  • building missing side chains

  • -
  • substitutions, deletions and insertions, if a uniprot_id or sequence -attribute is provided for the protein component alteration will be -modeled with OESpruce, if an alteration could not be modeled, the -corresponding mismatch in the structure will be deleted

  • -
  • removing everything but protein, water and ligand of interest

  • -
  • protonation at pH 7.4

  • -
-
-

The protein component of each system must be a core.proteins.Protein or -a subclass thereof, must be initialized with toolkit=’OpenEye’ and give -access to the molecular structure, e.g. via a pdb_id. Additionally, the -protein component can have the following optional attributes to customize -the protein modeling:

-
-
    -
  • name: A string specifying the name of the protein, will be used for -generating the output file name.

  • -
  • chain_id: A string specifying which chain should be used.

  • -
  • alternate_location: A string specifying which alternate location -should be used.

  • -
  • expo_id: A string specifying the ligand of interest. This is -especially useful if multiple ligands are present in a PDB structure.

  • -
  • uniprot_id: A string specifying the UniProt ID that will be used to -fetch the amino acid sequence from UniProt, which will be used for -modeling the protein. This will supersede the sequence information -given in the PDB header.

  • -
  • sequence: A string specifying the amino acid sequence in -one-letter-codes that should be used during modeling the protein. This -will supersede a given uniprot_id and the sequence information given -in the PDB header.

  • -
-
-

The ligand component of each system must be a core.components.BaseLigand -or a subclass thereof. The ligand component can have the following -optional attributes:

-
-
    -
  • name: A string specifying the name of the ligand, will be used for -generating the output file name.

  • -
-
-
-
Parameters:
-
    -
  • loop_db (str) – The path to the loop database used by OESpruce to model missing loops.

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output -structures will not be saved.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
-
-
-
-

Note

-

If the ligand of interest is covalently bonded to the protein, the -covalent bond will be broken. This may lead to the transformation of the -ligand into a radical.

-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) Universe | None
-

Prepare a protein structure.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

An MDAnalysis universe of the featurized system. None if no design unit was found.

-
-
Return type:
-

Universe or None

-
-
-
-
-
-
-class kinoml.features.complexes.OEDockingFeaturizer(method: str = 'Posit', pKa_norm: bool = True, **kwargs)
-

Bases: kinoml.features.core.OEBaseModelingFeaturizer, SingleLigandProteinComplexFeaturizer

-

Given systems with exactly one protein and one ligand, prepare the -structure and dock the ligand into the prepared protein structure with -one of OpenEye’s docking algorithms:

-
-
    -
  • modeling missing loops with OESpruce according to the PDB header unless -a custom sequence is specified via the uniprot_id or sequence -attribute in the protein component (see below), missing sequences at -N- and C-termini are not modeled

  • -
  • building missing side chains

  • -
  • substitutions, deletions and insertions, if a uniprot_id or sequence -attribute is provided for the protein component alteration will be -modeled with OESpruce, if an alteration could not be modeled, the -corresponding mismatch in the structure will be deleted

  • -
  • removing everything but protein, water and ligand of interest

  • -
  • protonation at pH 7.4

  • -
  • perform docking

  • -
-
-

The protein component of each system must be a core.proteins.Protein or -a subclass thereof, must be initialized with toolkit=’OpenEye’ and give -access to the molecular structure, e.g. via a pdb_id. Additionally, the -protein component can have the following optional attributes to customize -the protein modeling:

-
-
    -
  • name: A string specifying the name of the protein, will be used for -generating the output file name.

  • -
  • chain_id: A string specifying which chain should be used.

  • -
  • alternate_location: A string specifying which alternate location -should be used.

  • -
  • expo_id: A string specifying a ligand bound to the protein of -interest. This is especially useful if multiple proteins are found in -one PDB structure.

  • -
  • uniprot_id: A string specifying the UniProt ID that will be used to -fetch the amino acid sequence from UniProt, which will be used for -modeling the protein. This will supersede the sequence information -given in the PDB header.

  • -
  • sequence: A string specifying the amino acid sequence in -one-letter-codes that should be used during modeling the protein. This -will supersede a given uniprot_id and the sequence information given -in the PDB header.

  • -
  • pocket_resids: List of integers specifying the residues in the -binding pocket of interest. This attribute is required if docking with -Fred into an apo structure.

  • -
-
-

The ligand component of each system must be a core.ligands.Ligand or a -subclass thereof and give access to the molecular structure, e.g. via a -SMILES. Additionally, the ligand component can have the following optional -.. attribute:: - name

-
-

A string specifying the name of the ligand, will be used for -generating the output file name.

-
-
-
Parameters:
-
    -
  • method (str, default="Posit") – The docking method to use [“Fred”, “Hybrid”, “Posit”].

  • -
  • loop_db (str) – The path to the loop database used by OESpruce to model missing loops.

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output -structures will not be saved.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
  • pKa_norm (bool, default=True) – Assign the predominant ionization state of the molecules to dock at pH -~7.4. If False, the ionization state of the input molecules will be -conserved.

  • -
-
-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) Universe | None
-

Prepare a protein structure and dock a ligand using OpenEye’s Fred method.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

An MDAnalysis universe of the featurized system. None if no design unit or docking -pose was found.

-
-
Return type:
-

Universe or None

-
-
-
-
-
-static _store_docking_score(structure: Universe, docking_pose: openeye.oechem.OEGraphMol)
-

Store the docking score from OpenEye docking in the MDAnalysis universe._topology. If the -Posit probability is available it will be stored as well. They cannot be stored in the -universe object directly, because they will be lost during multiprocessing/pickling.

-
-
Parameters:
-
    -
  • structure (Universe) – The docked structure as MDAnalysis universe.

  • -
  • docking_pose (oechem.OEGraphMol) – The docking pose.

  • -
-
-
-
-
-
-
-class kinoml.features.complexes.SCHRODINGERComplexFeaturizer(cache_dir: str | pathlib.Path | None = None, output_dir: str | pathlib.Path | None = None, max_retry: int = 3, build_loops: bool = True, **kwargs)
-

Bases: SingleLigandProteinComplexFeaturizer

-

Given systems with exactly one protein and one ligand, prepare the complex -structure by:

-
-
    -
  • modeling missing loops with Prime according to the PDB header unless -a custom sequence is specified via the uniprot_id or sequence -attribute in the protein component (see below), missing sequences at -N- and C-termini are not modeled

  • -
  • building missing side chains

  • -
  • substitutions, deletions and insertions, if a uniprot_id or sequence -attribute is provided for the protein component alteration will be first -deleted and subsequently the intended sequence modeled with Prime, if -an alteration could not be modeled, a corresponding deletion will remain

  • -
  • removing everything but protein, water and ligand of interest

  • -
  • protonation at pH 7.4

  • -
-
-

The protein component of each system must be a core.proteins.Protein or -a subclass thereof, must be initialized with toolkit=’MDAnalysis’ and give -access to the molecular structure, e.g. via a pdb_id. Additionally, the -protein component can have the following optional attributes to customize -the protein modeling:

-
-
    -
  • name: A string specifying the name of the protein, will be used for -generating the output file name.

  • -
  • chain_id: A string specifying which chain should be used.

  • -
  • alternate_location: A string specifying which alternate location -should be used.

  • -
  • expo_id: A string specifying the ligand of interest. This is -especially useful if multiple ligands are present in a PDB structure.

  • -
  • uniprot_id: A string specifying the UniProt ID that will be used to -fetch the amino acid sequence from UniProt, which will be used for -modeling the protein. This will supersede the sequence information -given in the PDB header.

  • -
  • sequence: A string specifying the amino acid sequence in -one-letter-codes that should be used during modeling the protein. This -will supersede a given uniprot_id and the sequence information given -in the PDB header.

  • -
-
-

The ligand component of each system must be a core.components.BaseLigand -or a subclass thereof. The ligand component can have the following -optional attributes:

-
-
    -
  • name: A string specifying the name of the ligand, will be used for -generating the output file name.

  • -
-
-
-
Parameters:
-
    -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output -structures will not be saved.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
  • max_retry (int, default=3) – The maximal number of attempts to try running the prepwizard step.

  • -
  • build_loops (bool, default=True) – If missing loops shell be built. Is also needed to model mutations.

  • -
-
-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-_pre_featurize(systems: List[kinoml.core.systems.ProteinLigandComplex]) None
-

Check that SCHRODINGER variable exists.

-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) Universe | None
-

Prepare a protein structure.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

An MDAnalysis universe of the featurized system or None if not successful.

-
-
Return type:
-

Universe or None

-
-
-
-
-
-static _system_to_name(system: kinoml.core.systems.ProteinLigandComplex) str
-

Get a name of the system based on attributes of the protein and ligand component.

-
-
Parameters:
-

system (ProteinLigandComplex) – The system with protein and ligand component.

-
-
Returns:
-

A descriptive name of the system

-
-
Return type:
-

str

-
-
-
-
-
-_prepare_structure(protein: kinoml.core.proteins.Protein | kinoml.core.proteins.KLIFSKinase) pathlib.Path | None
-

Prepare the structure with SCHRODINGER’s prepwizard.

-
-
Parameters:
-

protein (Path) – The path to the input structure file in PDB format.

-
-
Returns:
-

The path to the prepared structure if successful.

-
-
Return type:
-

Path or None

-
-
-
-
-
-_read_protein_structure(protein: kinoml.core.proteins.Protein | kinoml.core.proteins.KLIFSKinase) Universe | None
-

Returns the protein structure of the given protein object as MDAnalysis universe.

-
-
Parameters:
-

protein (Protein or KLIFSKinase) – The protein object.

-
-
Returns:
-

The protein structure as MDAnalysis universe or None.

-
-
Return type:
-

Universe or None

-
-
Raises:
-

ValueError – If wrong toolkit was used during initialization of the protein object.

-
-
-
-
-
-_preprocess_structure(pdb_path: str | pathlib.Path, chain_id: str | None, alternate_location: str | None, expo_id: str | None, sequence: str) pathlib.Path
-
-
Pre-process a structure for SCHRODINGER’s prepwizard with the following steps:
    -
  • select chain of interest

  • -
  • select alternate location of interest

  • -
  • remove all ligands but ligand of interest

  • -
  • remove expression tags

  • -
  • delete protein alterations differing from given sequence

  • -
  • renumber protein residues according to the given sequence

  • -
-
-
-
-
Parameters:
-
    -
  • pdb_path (str or Path) – Path to the structure file in PDB format.

  • -
  • chain_id (str or None) – The chain ID of interest.

  • -
  • alternate_location (str or None) – The alternate location of interest.

  • -
  • expo_id (str or None) – The resname of the ligand of interest.

  • -
  • sequence (str) – The amino acid sequence of the protein.

  • -
-
-
Returns:
-

The path to the cleaned structure.

-
-
Return type:
-

Path

-
-
-
-
-
-static _postprocess_structure(prepared_structure: Universe, protein: [kinoml.core.proteins.Protein, kinoml.core.proteins.KLIFSKinase]) Universe
-
-
Post-process a structure prepared with SCHRODINGER’s prepwizard with the following steps:
    -
  • select the chain of interest

  • -
  • select the alternate location of interest

  • -
  • remove all ligands but the ligands of interest

  • -
  • update residue identifiers, e.g. atom indices, chain ID, residue IDs of non-protein

  • -
-
-
-
-
Parameters:
-
    -
  • prepared_structure (Universe) – The structure prepared by SCHRODINGER’s prepwizard.

  • -
  • protein (Protein or KLIFSKinase) – The protein component of the system.

  • -
-
-
Returns:
-

The post-processed structure.

-
-
Return type:
-

Universe

-
-
-
-
-
-
-class kinoml.features.complexes.SCHRODINGERDockingFeaturizer(cache_dir: str | pathlib.Path | None = None, output_dir: str | pathlib.Path | None = None, max_retry: int = 3, build_loops: bool = True, shape_restrain: bool = True, **kwargs)
-

Bases: SCHRODINGERComplexFeaturizer

-

Given systems with exactly one protein and one ligand, prepare the -structure dock the ligand into its binding site identified by a -co-crystallized ligand. The following steps will be performed:

-
-
    -
  • modeling missing loops with Prime according to the PDB header unless -a custom sequence is specified via the uniprot_id or sequence -attribute in the protein component (see below), missing sequences at -N- and C-termini are not modeled

  • -
  • building missing side chains

  • -
  • substitutions, deletions and insertions, if a uniprot_id or sequence -attribute is provided for the protein component alteration will be first -deleted and subsequently the intended sequence modeled with Prime, if -an alteration could not be modeled, a corresponding deletion will remain

  • -
  • removing everything but protein, water and ligand of interest

  • -
  • protonation at pH 7.4

  • -
  • docking a ligand

  • -
-
-

The protein component of each system must be a core.proteins.Protein or -a subclass thereof, must be initialized with toolkit=’MDAnalysis’ and give -access to the molecular structure, e.g. via a pdb_id. Additionally, the -protein component can have the following optional attributes to customize -the protein modeling:

-
-
    -
  • name: A string specifying the name of the protein, will be used for -generating the output file name.

  • -
  • chain_id: A string specifying which chain should be used.

  • -
  • alternate_location: A string specifying which alternate location -should be used.

  • -
  • expo_id: A string specifying a ligand bound to the protein of -interest. This is especially useful if multiple proteins are found in -one PDB structure.

  • -
  • uniprot_id: A string specifying the UniProt ID that will be used to -fetch the amino acid sequence from UniProt, which will be used for -modeling the protein. This will supersede the sequence information -given in the PDB header.

  • -
  • sequence: A string specifying the amino acid sequence in -one-letter-codes that should be used during modeling the protein. This -will supersede a given uniprot_id and the sequence information given -in the PDB header.

  • -
-
-

The ligand component of each system must be a core.ligands.Ligand or a -subclass thereof and give access to the molecular structure, e.g. via a -SMILES. Additionally, the ligand component can have the following optional -.. attribute:: - name

-
-

A string specifying the name of the ligand, will be used for -generating the output file name and as molecule title in the docking -pose SDF file.

-
-
-
-- `macrocycle`
-

A bool specifying if the ligand shell be sampled as a -macrocycle during docking. Docking will fail, if SCHRDODINGER does not -consider the ligand a macrocycle.

-
-
-
Parameters:
-
    -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output -structures will not be saved.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
  • max_retry (int, default=3) – The maximal number of attempts to try running the prepwizard and -docking steps.

  • -
  • build_loops (bool, default=True) – If missing loops shell be built. Is also needed to model mutations.

  • -
  • shape_restrain (bool, default=True) – If the docking shell be performed with shape restrain based on the -co-crystallized ligand.

  • -
-
-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinLigandComplex) Universe | None
-

Prepare a protein structure and dock a ligand.

-
-
Parameters:
-

system (ProteinLigandComplex) – A system object holding a protein and a ligand component.

-
-
Returns:
-

An MDAnalysis universe of the featurized system or None if not successful.

-
-
Return type:
-

Universe or None

-
-
-
-
-
-_dock_molecule(prepared_structure_path: pathlib.Path, system: kinoml.core.systems.ProteinLigandComplex, system_name: str) pathlib.Path | None
-

Dock the molecule into the protein with SCHRODINGER’s Glide.

-
-
Parameters:
-
    -
  • prepared_structure_path (Path) – A prepared protein structure, ready for docking.

  • -
  • system (ProteinLigandComplex) – The system that is being featurized.

  • -
  • system_name (str) – A descriptive name of the system.

  • -
-
-
Returns:
-

The path to the generated docking pose, None if not successful.

-
-
Return type:
-

Path or None

-
-
-
-
-
-static _replace_ligand(pdb_path: pathlib.Path, docking_pose_sdf_path: pathlib.Path) Universe
-

Replace the ligand in a PDB file with a ligand in an SDF file.

-
-
Parameters:
-
    -
  • pdb_path (Path) – Path to the PDB file of the protein ligand complex.

  • -
  • docking_pose_sdf_path (Path) – Path to the molecule in SDF format that shell be added to the structure.

  • -
-
-
Returns:
-

The structure with replaced ligand.

-
-
Return type:
-

Universe

-
-
-
-
-
-static _store_docking_score(structure: Universe, docking_pose_path: pathlib.Path)
-

Store the docking score from OpenEye docking in the MDAnalysis universe._topology. They -cannot be stored in the universe object directly, because they will be lost during -multiprocessing/pickling.

-
-
Parameters:
-
    -
  • structure (Universe) – The docked structure as MDAnalysis universe.

  • -
  • docking_pose_path (Path) – The path to the docking pose.

  • -
-
-
-
-
-
-_write_complex_mae(prepared_structure: Universe, docking_pose_path: pathlib.Path, complex_path_mae: pathlib.Path)
-

Write the new docked structure in MAE format.

-
-
Parameters:
-
    -
  • prepared_structure (Universe) – The prepared structure containing the docked ligand with resname LIG.

  • -
  • docking_pose_path (Path) – The prepared docking pose including correct bonding information.

  • -
  • complex_path_mae (Path) – The path for the output file in MAE format.

  • -
-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/features/core/index.html b/docs/_build/html/api/kinoml/features/core/index.html deleted file mode 100644 index c836e84a..00000000 --- a/docs/_build/html/api/kinoml/features/core/index.html +++ /dev/null @@ -1,1446 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.features.core — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.features.core

-

Featurizers can transform a kinoml.core.system.System object and produce -new representations of the molecular entities and their associated measurements.

-
-

Module Contents

-
-
-kinoml.features.core.logger
-
-
-
-class kinoml.features.core.BaseFeaturizer
-

Abstract Featurizer class.

-
-
-property name
-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-featurize(systems: List[kinoml.core.systems.System], keep=True) List[kinoml.core.systems.System]
-

Given some systems (compatible with _SUPPORTED_TYPES), apply -the featurization scheme implemented in this class.

-

First, self.supports() will check whether the systems are compatible -with the featurization scheme. We assume all of them are equal, so only -the first one will be checked. Then, the Systems are passed to -self._featurize to handle the actual leg-work.

-
-
Parameters:
-
    -
  • systems (list of System) – This is the collection of System objects that will be transformed.

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

systems – The same systems that were passed in. -The returned Systems will have an extra entry in the .featurizations -dictionary, containing the featurized object (either a new System -or an array-like object) under a key named after .name.

-
-
Return type:
-

list of System

-
-
-
-
-
-__call__(*args, **kwargs)
-

You can also call the instance directly. This forwards to -.featurize().

-
-
-
-_pre_featurize(systems: List[kinoml.core.systems.System]) None
-

Run before featurizing all systems. Redefine this method if needed.

-
-
Parameters:
-

systems (list of System) – This is the collection of System objects that will be transformed.

-
-
-
-
-
-_featurize(systems: List[kinoml.core.systems.System]) List[object]
-

Featurize all system objects in a serial fashion as defined in ._featurize_one().

-
-
Parameters:
-

systems (list of System) – This is the collection of System objects that will be transformed.

-
-
Returns:
-

features

-
-
Return type:
-

list of System or array-like

-
-
-
-
-
-abstract _featurize_one(system: kinoml.core.systems.System) object
-

Implement this method to do the actual leg-work for self.featurize(). -It takes a single System object and returns either a new System object -or an array-like object.

-
-
Parameters:
-

system (System) – The System to be featurized.

-
-
Return type:
-

System or array-like

-
-
-
-
-
-_post_featurize(systems: List[kinoml.core.systems.System], features: List, keep: bool = True) List[kinoml.core.systems.System]
-

Run after featurizing all systems. Systems with a feature of None will be removed and -listed in a log file in the current working directory. You shouldn’t need to redefine -this method.

-
-
Parameters:
-
    -
  • systems (list of System) – The systems being featurized

  • -
  • features (list) – The features returned by self._featurize

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

filtered_systems – The same systems as passed, but with .featurizations extended with -the calculated features in two entries: the featurizer name and last. -Systems with a feature of None will be removed.

-
-
Return type:
-

systems

-
-
-
-
-
-supports(*systems: kinoml.core.systems.System, raise_errors: bool = True) bool
-

Check if these systems are supported by this featurizer.

-

Do NOT reimplement in subclass. Check ._supports() instead.

-
-
Parameters:
-
    -
  • systems (list of System) – Systems to be checked (by type, contained attributes, etc)

  • -
  • raise_errors (bool, optional=True) – if True, raise ValueError if errors were found

  • -
-
-
Returns:
-

True if all systems are compatible, False otherwise

-
-
Return type:
-

bool

-
-
Raises:
-

ValueError` if ._supports() fails and raise_errors is True

-
-
-
-
-
-_supports(system: kinoml.core.systems.System) bool
-

This is the private method that actually tests for compatibility between -a single system and the current featurizer.

-

This is the method you should reimplement in your subclass.

-
-
Parameters:
-

system (System) – The system that will be checked

-
-
Return type:
-

True if compatible, False otherwise

-
-
-
-
-
-__repr__()
-

Return repr(self).

-
-
-
-
-class kinoml.features.core.ParallelBaseFeaturizer(use_multiprocessing: bool = True, n_processes: int | None = None, chunksize: int | None = None, dask_client=None, **kwargs)
-

Bases: BaseFeaturizer

-

Abstract Featurizer class with support for multiprocessing.

-
-
Parameters:
-
    -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. -Defaults to number of available CPUs.

  • -
  • chunksize (int, optional=None) – See https://stackoverflow.com/a/54032744/3407590.

  • -
  • dask_client (dask.distributed.Client or None, default=None) – A dask client to manage multiprocessing. Will ignore use_multiprocessing -chunksize and n_processes attributes.

  • -
-
-
-
-
-_SUPPORTED_TYPES = ()
-
-
-
-__getstate__()
-

Only preserve object fields that are serializable

-
-
-
-__setstate__(state)
-

Only preserve object fields that are serializable.

-
-
-
-_featurize(systems: List[kinoml.core.systems.System]) List[object]
-

Featurize all system objects in a parallel fashion as defined in ._featurize_one().

-
-
Parameters:
-

systems (list of System) – This is the collection of System objects that will be transformed.

-
-
Returns:
-

features

-
-
Return type:
-

list of System or array-like

-
-
-
-
-
-
-class kinoml.features.core.Pipeline(featurizers: List[BaseFeaturizer], shortname=None, **kwargs)
-

Bases: BaseFeaturizer

-

Given a list of featurizers, apply them sequentially -on the systems (e.g. featurizer A returns X, and X is -taken by featurizer B, which returns Y).

-
-
Parameters:
-

featurizers (iterable of BaseFeaturizer) – Featurizers to stack. They must be compatible with -each other!

-
-
-
-

Note

-

While Pipeline is a subclass of BaseFeaturizer, -it should be considered a special case of such. It indeed -shares the same API but the implementation details of -._featurize() are slightly different. It acts as a -wrapper around individual Featurizer objects.

-
-
-
-property name
-
-
-
-property shortname
-
-
-
-_featurize(systems: List[kinoml.core.systems.System], keep: bool = True) List[object]
-

Given a list of featurizers, apply them sequentially -on the systems (e.g. featurizer A returns X, and X is -taken by featurizer B, which returns Y) and store the -features in the systems.

-
-
Parameters:
-
    -
  • systems (list of System) – This is the collection of System objects that will be transformed

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

features

-
-
Return type:
-

list of System or array-like

-
-
-
-
-
-supports(*systems: kinoml.core.systems.System, raise_errors: bool = False) bool
-

Check if these systems are supported by all featurizers.

-
-
Parameters:
-
    -
  • systems (list of System) – systems to be checked (by type, contained attributes, etc)

  • -
  • raise_errors (bool, optional=False) – If True, raise ValueError

  • -
-
-
Returns:
-

True if all systems are compatible with all featurizers, False otherwise

-
-
Return type:
-

bool

-
-
Raises:
-

ValueError` if f.supports() fails and raise_errors is True

-
-
-
-
-
-
-class kinoml.features.core.Concatenated(featurizers: List[BaseFeaturizer], axis: int = 1, **kwargs)
-

Bases: Pipeline

-

Given a list of featurizers, apply them serially and concatenate -the result (e.g. featurizer A returns X, and featurizer B returns Y; -the output is XY).

-
-
Parameters:
-
    -
  • featurizers (list of BaseFeaturizer) – These should take a System or array, but return only arrays -so they can be concatenated. Note that the arrays must -have the same number of dimensions. If that is not the case, -you will need to reshape one of them using CallableFeaturizer -and a lambda function that relies on np.reshape or similar.

  • -
  • axis (int, optional=1) – On which axis to concatenate. By default, it will concatenate -on axis 1, which means that the features in each pipeline -will be concatenated.

  • -
-
-
-
-

Notes

-

This Featurizer maybe removed in the future, since it can be replaced -by TupleOfArrays.

-
-
-
-_featurize(systems: List[kinoml.core.systems.System], keep=True) numpy.ndarray
-

Given a list of featurizers, apply them serially and concatenate -the result (e.g. featurizer A returns X, and featurizer B returns Y; -the output is XY).

-
-
Parameters:
-
    -
  • systems (list of System or array-like) – The Systems (or arrays) to be featurized.

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

Concatenated arrays along specified axis.

-
-
Return type:
-

np.ndarray

-
-
-
-
-
-
-class kinoml.features.core.TupleOfArrays(*args, **kwargs)
-

Bases: Pipeline

-

Given a list of featurizers, apply them serially and return -the result directly as a flattened tuple of the arrays, for -each system. E.g; given one system, featurizer A returns X, -and featurizer B returns Y, Z; the output is a tuple of X, Y, Z).

-

The final result will be tuple of tuples.

-
-
-_featurize(systems: List[kinoml.core.systems.System], keep: bool = True) List
-

Given a list of featurizers, apply them serially and build a -flat tuple out of the results.

-
-
Parameters:
-
    -
  • systems (list of System or array-like) – The Systems (or arrays) to be featurized.

  • -
  • keep (bool, optional=True) – Whether to store the current featurizer in the system.featurizations -dictionary with its own key (self.name), in addition to last.

  • -
-
-
Returns:
-

If the last featurizer is returning a single array, -the shape of the object will be (N_systems,). If -the last featurizer returns more than one array, -it will be (N_systems, M_returned_objects).

-
-
Return type:
-

tuple of (of tuples) arraylike

-
-
-
-
-
-
-class kinoml.features.core.BaseOneHotEncodingFeaturizer(dictionary: dict = None, **kwargs)
-

Bases: ParallelBaseFeaturizer

-

Base class for Featurizers concerning one hot encoding.

-
-
-ALPHABET
-
-
-
-_featurize_one(system: kinoml.core.systems.LigandSystem | kinoml.core.systems.ProteinLigandComplex) numpy.ndarray | None
-

One hot encode one system.

-
-
Parameters:
-

system (LigandSystem or ProteinLigandComplex) – The System to be featurized.

-
-
Return type:
-

array or None

-
-
-
-
-
-abstract _retrieve_sequence(system: kinoml.core.systems.System)
-

Implement in your component-specific subclass!

-
-
-
-static one_hot_encode(sequence: Iterable, dictionary: dict | Sequence) numpy.ndarray
-

One-hot encode a sequence of characters, given a dictionary.

-
-
Parameters:
-
    -
  • sequence (Iterable) –

  • -
  • dictionary (dict or sequuence-like) – Mapping of each character to their position in the alphabet. If -a sequence-like is given, it will be enumerated into a dict.

  • -
-
-
Returns:
-

One-hot encoded matrix with shape (len(dictionary), len(sequence))

-
-
Return type:
-

array-like

-
-
-
-
-
-
-class kinoml.features.core.PadFeaturizer(shape: Iterable[int] = 'auto', key: Hashable = 'last', pad_with: int = 0, **kwargs)
-

Bases: ParallelBaseFeaturizer

-

Pads features of a given system to a desired size or length.

-

This class wraps numpy.pad with mode=constant, auto-calculating -the needed additions to match the requested shape.

-
-
Parameters:
-
    -
  • shape (tuple of int, or "auto") – The desired size of the transformed features. If “auto”, shape -will be estimated from the Dataset passed at runtime so it matches -the largest observed.

  • -
  • key (hashable) – element to retrieve from System.featurizations

  • -
  • pad_with (int) – value to fill the array-like features with

  • -
-
-
-
-
-_get_array(system_or_array: kinoml.core.systems.System | numpy.ndarray) numpy.ndarray
-
-
-
-_pre_featurize(systems) None
-

Compute the largest shape in the input arrays and store in shape attribute.

-
-
Parameters:
-

systems (list of System) –

-
-
-
-
-
-_featurize_one(system: kinoml.core.systems.System) numpy.ndarray
-
-
Parameters:
-
    -
  • system (System or array-like) – The System (or array) to be featurized.

  • -
  • options (dict) – Must contain a key shape with the expected final shape -of the systems.

  • -
-
-
Return type:
-

array

-
-
-
-
-
-
-class kinoml.features.core.HashFeaturizer(getter: Callable[[kinoml.core.systems.System], str] = None, normalize=True, **kwargs)
-

Bases: BaseFeaturizer

-

Hash an attribute of the protein, such as the name or id.

-
-
Parameters:
-
    -
  • getter (callable, optional) – A function or lambda that takes a System and returns -a string to be hashed. Default value will return -whatever system.featurizations["last"] contains, -as a string

  • -
  • normalize (bool, default=True) – Normalizes the hash to obtain a value in the unit interval

  • -
-
-
-
-
-static _getter(system)
-
-
-
-_featurize_one(system: kinoml.core.systems.System) numpy.ndarray
-

Featurizes a component using the hash of the chosen attribute.

-
-
Parameters:
-

system (System) – The System to be featurized.

-
-
Returns:
-

Sha256’d attribute

-
-
Return type:
-

array

-
-
-
-
-
-
-class kinoml.features.core.NullFeaturizer(**kwargs)
-

Bases: ParallelBaseFeaturizer

-

Abstract Featurizer class with support for multiprocessing.

-
-
Parameters:
-
    -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. -Defaults to number of available CPUs.

  • -
  • chunksize (int, optional=None) – See https://stackoverflow.com/a/54032744/3407590.

  • -
  • dask_client (dask.distributed.Client or None, default=None) – A dask client to manage multiprocessing. Will ignore use_multiprocessing -chunksize and n_processes attributes.

  • -
-
-
-
-
-_featurize(systems: Iterable[kinoml.core.systems.System], keep: bool = None) object
-

Featurize all system objects in a parallel fashion as defined in ._featurize_one().

-
-
Parameters:
-

systems (list of System) – This is the collection of System objects that will be transformed.

-
-
Returns:
-

features

-
-
Return type:
-

list of System or array-like

-
-
-
-
-
-
-class kinoml.features.core.CallableFeaturizer(func: Callable[[kinoml.core.systems.System], kinoml.core.systems.System | numpy.array] | str = None, **kwargs)
-

Bases: BaseFeaturizer

-

Apply an arbitrary callable to a System.

-
-
Parameters:
-

func (callable or str or None) – Must take a System and return a System or array. If -str it will be eval’d into a callable. If None, -the default callable will return system.featurizations["last"] -for each system.

-
-
-
-
-static _default_func(system)
-
-
-
-_featurize_one(system: kinoml.core.systems.System | numpy.ndarray) numpy.ndarray
-
-
Parameters:
-
    -
  • system (System or array-like) – The System (or array) to be featurized.

  • -
  • options (dict) – Unused

  • -
-
-
Return type:
-

array-like

-
-
-
-
-
-
-class kinoml.features.core.ClearFeaturizations(keys=('last',), style='keep', **kwargs)
-

Bases: BaseFeaturizer

-

Remove keys from the .featurizations dictionary in each -System object. By default, it will remove all keys -that are not last.

-
-
Parameters:
-
    -
  • keys (tuple of str, optional=("last",)) – Which keys to keep or remove, depending on style.

  • -
  • style (str, optional="keep") – Whether to keep or remove the entries passed as keys.

  • -
-
-
-
-
-_featurize_one(system: kinoml.core.systems.System) kinoml.core.systems.System
-

Implement this method to do the actual leg-work for self.featurize(). -It takes a single System object and returns either a new System object -or an array-like object.

-
-
Parameters:
-

system (System) – The System to be featurized.

-
-
Return type:
-

System or array-like

-
-
-
-
-
-_post_featurize(systems: Iterable[kinoml.core.systems.System], features: Iterable[kinoml.core.systems.System | numpy.array], keep: bool = True) Iterable[kinoml.core.systems.System]
-

Bypass the automated population of the .featurizations dict -in each System

-
-
-
-
-class kinoml.features.core.OEBaseModelingFeaturizer(loop_db: str | None = None, cache_dir: str | pathlib.Path | None = None, output_dir: str | pathlib.Path | None = None, **kwargs)
-

Bases: ParallelBaseFeaturizer

-

This abstract class defines several methods that use functionality from the OpenEye toolkit -for molecular modeling. Featurizers that subclass OEBaseModelingFeaturizer need to implement -at least the _featurize_one method.

-
-
Parameters:
-
    -
  • loop_db (str) – The path to the loop database used by OESpruce to model missing loops.

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default location -provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output structures will not be -saved.

  • -
-
-
-
-
-_read_protein_structure(protein: kinoml.core.proteins.Protein | kinoml.core.proteins.KLIFSKinase) oechem.OEGraphMol | None
-

Returns the protein structure of the given protein object as OpenEye molecule.

-
-
Parameters:
-

protein (Protein or KLIFSKinase) – The protein object.

-
-
Returns:
-

The protein structure as OpenEye molecule or None.

-
-
Return type:
-

oechem.OEGraphMol or None

-
-
Raises:
-

ValueError – If wrong toolkit was used during initialization of the protein object.

-
-
-
-
-
-_get_design_unit(structure: openeye.oechem.OEMolBase, chain_id: str | None, alternate_location: str | None, has_ligand: bool, ligand_name: str | None, model_loops_and_caps: bool) openeye.oechem.OEDesignUnit | None
-

Get an OpenEye design unit based on the given input.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule holding the protein structure to prepare.

  • -
  • chain_id (str or None) – The chain ID of interest.

  • -
  • alternate_location (str or None) – The alternate location of interest.

  • -
  • has_ligand (bool) – If design unit generation should consider ligands. If True, design units will be only -generated for protein ligand complexes. If False, design units will not consider -co-crystallized ligands.

  • -
  • ligand_name (str or None) – The ligand expo ID bound to the protein of interest. Design units will be filtered to -contain the respective ligand.

  • -
  • model_loops_and_caps (bool) – If loops and caps should be modeled.

  • -
-
-
Returns:
-

design_unit – The design unit or None if no design unit was found.

-
-
Return type:
-

oechem.OEDesignUnit or None

-
-
-
-
-
-static _get_components(design_unit: openeye.oechem.OEDesignUnit, chain_id: str | None) Tuple[oechem.OEGraphMol(), oechem.OEGraphMol(), oechem.OEGraphMol()]
-

Get protein, solvent and ligand components from an OpenEye design unit.

-
-
Parameters:
-
    -
  • design_unit (oechem.OEDesignUnit) – The OpenEye design unit to extract components from.

  • -
  • chain_id (str or None) – The chain ID of interest.

  • -
-
-
Returns:
-

components – OpenEye molecules holding protein, solvent and ligand.

-
-
Return type:
-

tuple of oechem.OEGraphMol, oechem.OEGraphMol and oechem.OEGraphMol

-
-
-
-
-
-_process_protein(protein_structure: oechem.OEMolBase, amino_acid_sequence: str, first_id: int = 1, ligand: oechem.OEMolBase | None = None) oechem.OEMolBase
-

Process a protein structure according to the given amino acid sequence.

-
-
Parameters:
-
    -
  • protein_structure (oechem.OEMolBase) – An OpenEye molecule holding the protein structure to process.

  • -
  • amino_acid_sequence (str) – The amino acid sequence with associated metadata.

  • -
  • first_id (int, default=1) – The ID of the first amino acid in the given sequence, e.g. if only a part of a -protein was expressed and used in experiment.

  • -
  • ligand (oechem.OEMolBase or None, default=None) – An OpenEye molecule that should be checked for heavy atom clashes with built insertions.

  • -
-
-
Returns:
-

An OpenEye molecule holding the processed protein structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-static _get_protein_residue_numbers(protein_structure: oechem.OEMolBase, amino_acid_sequence: str, first_id: int = 1) List[int]
-

Get the residue numbers of a protein structure according to given amino acid sequence.

-
-
Parameters:
-
    -
  • protein_structure (oechem.OEMolBase) – The kinase domain structure.

  • -
  • amino_acid_sequence (core.sequences.AminoAcidSequence) – The template amino acid sequence.

  • -
  • first_id (int, default=1) – The ID of the first amino acid in the given sequence, e.g. if only a part of a -protein was expressed and used in experiment.

  • -
-
-
Returns:
-

residue_number – A list of residue numbers according to the given amino acid sequence in the same order -as the residues in the given protein structure.

-
-
Return type:
-

list of int

-
-
-
-
-
-_assemble_components(protein: openeye.oechem.OEMolBase, solvent: openeye.oechem.OEMolBase, ligand: openeye.oechem.OEMolBase | None = None) openeye.oechem.OEMolBase
-

Assemble components of a solvated protein-ligand complex into a single OpenEye molecule.

-
-
Parameters:
-
    -
  • protein (oechem.OEMolBase) – An OpenEye molecule holding the protein of interest.

  • -
  • solvent (oechem.OEMolBase) – An OpenEye molecule holding the solvent of interest.

  • -
  • ligand (oechem.OEMolBase or None, default=None) – An OpenEye molecule holding the ligand of interest if given.

  • -
-
-
Returns:
-

assembled_components – An OpenEye molecule holding protein, solvent and ligand if given.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-static _remove_clashing_water(solvent: openeye.oechem.OEMolBase, ligand: openeye.oechem.OEMolBase | None, protein: openeye.oechem.OEMolBase) openeye.oechem.OEGraphMol
-

Remove water molecules clashing with a ligand or newly modeled protein residues.

-
-
Parameters:
-
    -
  • solvent (oechem.OEGraphMol) – An OpenEye molecule holding the water molecules.

  • -
  • ligand (oechem.OEGraphMol or None) – An OpenEye molecule holding the ligand or None.

  • -
  • protein (oechem.OEGraphMol) – An OpenEye molecule holding the protein.

  • -
-
-
Returns:
-

An OpenEye molecule holding water molecules not clashing with the ligand or newly -modeled protein residues.

-
-
Return type:
-

oechem.OEGraphMol

-
-
-
-
-
-_update_pdb_header(structure: openeye.oechem.OEMolBase, protein_name: str, ligand_name: [str, None] = None, other_pdb_header_info: None | Iterable[Tuple[str, str]] = None) openeye.oechem.OEMolBase
-

Stores information about Featurizer, protein and ligand in the PDB header COMPND section in the -given OpenEye molecule.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule.

  • -
  • protein_name (str) – The name of the protein.

  • -
  • ligand_name (str or None, default=None) – The name of the ligand if present.

  • -
  • other_pdb_header_info (None or iterable of tuple of str) – Tuples with information that should be saved in the PDB header. Each tuple consists of two strings, -i.e., the PDB header section (e.g. COMPND) and the respective information.

  • -
-
-
Returns:
-

The OpenEye molecule containing the updated PDB header.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-_write_results(structure: openeye.oechem.OEMolBase, protein_name: str, ligand_name: str | None = None) pathlib.Path
-

Write the results from the Featurizer and retrieve the paths to protein or complex if a -ligand is present.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – The OpenEye molecule holding the featurized system.

  • -
  • protein_name (str) – The name of the protein.

  • -
  • ligand_name (str or None, default=None) – The name of the ligand if present.

  • -
-
-
Returns:
-

Path to prepared protein or complex if ligand is present.

-
-
Return type:
-

Path

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/features/index.html b/docs/_build/html/api/kinoml/features/index.html deleted file mode 100644 index eeb1c3bb..00000000 --- a/docs/_build/html/api/kinoml/features/index.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.features — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/features/ligand/index.html b/docs/_build/html/api/kinoml/features/ligand/index.html deleted file mode 100644 index d3324c65..00000000 --- a/docs/_build/html/api/kinoml/features/ligand/index.html +++ /dev/null @@ -1,695 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.features.ligand — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.features.ligand

-

Featurizers that mostly concern ligand-based models

-
-

Module Contents

-
-
-class kinoml.features.ligand.SingleLigandFeaturizer(**kwargs)
-

Bases: kinoml.features.core.ParallelBaseFeaturizer

-

Provides a minimally useful ._supports() method for all Ligand-like featurizers.

-
-
-_COMPATIBLE_LIGAND_TYPES = ()
-
-
-
-_supports(system: kinoml.core.systems.LigandSystem | kinoml.core.systems.ProteinLigandComplex) bool
-

Check that exactly one ligand is present in the System

-
-
-
-
-class kinoml.features.ligand.MorganFingerprintFeaturizer(radius: int = 2, nbits: int = 512, **kwargs)
-

Bases: SingleLigandFeaturizer

-

Given a System containing one Ligand component, convert it to an RDKit molecule and -generate the Morgan fingerprints bitvectors.

-
-
Parameters:
-
    -
  • radius (int, optional=2) – Morgan fingerprint neighborhood radius

  • -
  • nbits (int, optional=512) – Length of the resulting bit vector

  • -
-
-
-
-
-_featurize_one(system: kinoml.core.systems.LigandSystem | kinoml.core.systems.ProteinLigandComplex) numpy.ndarray | None
-

Return the Morgan fingerprint for the given system.

-
-
Parameters:
-

system (LigandSystem or ProteinLigandComplex) – The System to be featurized.

-
-
Return type:
-

np.array or None

-
-
-
-
-
-
-class kinoml.features.ligand.OneHotSMILESFeaturizer(smiles_type: str = 'canonical', **kwargs)
-

Bases: kinoml.features.core.BaseOneHotEncodingFeaturizer, SingleLigandFeaturizer

-

One-hot encodes a Ligand from a SMILES representation.

-
-
-ALPHABET
-

Defines the character-integer mapping (as a sequence) -of the one-hot encoding.

-
-
Type:
-

str

-
-
-
-
-
-ALPHABET = 'BCFHIKNOPSUVWYacegilnosru-=#1234567890.*()/+@:[]%\\LR$'
-
-
-
-_retrieve_sequence(system: kinoml.core.systems.LigandSystem | kinoml.core.systems.ProteinLigandComplex) str
-

Get SMILES string from a Ligand-like component and postprocesses it.

-

Double element symbols (such as Cl, Br for atoms and @@ for chirality) -are replaced with single element symbols (L, R and $ respectively).

-
-
-
-
-class kinoml.features.ligand.GraphLigandFeaturizer(max_in_ring_size: int = 10, **kwargs)
-

Bases: SingleLigandFeaturizer

-

Creates a graph representation of a Ligand-like component. -Each node (atom) is decorated with several RDKit descriptors -Check `self._per_atom_features` for details.

-
-
Parameters:
-

max_in_ring_size (int, optional=10) – Maximum ring size for testing whether an atom belongs to a -ring or not. Currently unused

-
-
-
-
-ALL_ATOMIC_SYMBOLS = ['C', 'N', 'O', 'S', 'F', 'Si', 'P', 'Cl', 'Br', 'Mg', 'Na', 'Ca', 'Fe', 'As', 'Al', 'I', 'B',...
-
-
-
-_featurize_one(system: kinoml.core.systems.LigandSystem | kinoml.core.systems.ProteinLigandComplex) tuple | None
-

Featurizes ligands contained in a System as a labeled graph.

-
-
Parameters:
-

system (LigandSystem or ProteinLigandComplex) – The System being featurized.

-
-
Returns:
-

A two-tuple with: -- Graph connectivity of the molecule with shape (2, n_edges) -- Feature matrix with shape (n_atoms, n_features)

-
-
Return type:
-

tuple of np.array or None

-
-
-
-
-
-_per_atom_features(atom) numpy.ndarray
-

Computes desired features for each atom in the molecular graph.

-
-
Parameters:
-

atom (rdkit.Chem.Atom) – Atom to extract features from

-
-
Returns:
-

-
atomic_symbolarray

the one-hot encoded atomic symbol from ALL_ATOMIC_SYMBOLS.

-
-
formal_chargeint

the formal charge of atom.

-
-
hybridization_typearray

the one-hot encoded hybridization type from -rdkit.Chem.rdchem.HybridizationType.

-
-
aromaticbool

if atom is aromatic.

-
-
degreearray

the one-hot encoded degree of the atom in the molecule.

-
-
total_hint

the total number of hydrogens on the atom (implicit and explicit).

-
-
implicit_hint

the number of implicit hydrogens on the atom.

-
-
radical_electronsint

the number of radical electrons.

-
-
-

-
-
Return type:
-

tuple of atomic features.

-
-
-
-

Notes

-

The atomic features are the same as in PotentialNet [1].

- -
-
-
-
-static _connectivity_COO_format(mol: rdkit.Chem.Mol) numpy.ndarray
-

Returns the connectivity of the molecular graph in COO format.

-
-
Parameters:
-

mol (rdkit.Chem.Mol) – RDKit molecule to extract bonds from

-
-
Returns:
-

graph connectivity in COO format with shape [2, num_edges]

-
-
Return type:
-

np.ndarray

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/features/protein/index.html b/docs/_build/html/api/kinoml/features/protein/index.html deleted file mode 100644 index 767af3a7..00000000 --- a/docs/_build/html/api/kinoml/features/protein/index.html +++ /dev/null @@ -1,665 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.features.protein — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.features.protein

-

Featurizers that mostly concern protein-based models

-
-

Module Contents

-
-
-kinoml.features.protein.logger
-
-
-
-class kinoml.features.protein.SingleProteinFeaturizer(**kwargs)
-

Bases: kinoml.features.core.ParallelBaseFeaturizer

-

Provides a minimally useful ._supports() method for all Protein-like featurizers.

-
-
-_COMPATIBLE_PROTEIN_TYPES = ()
-
-
-
-_supports(system: kinoml.core.systems.ProteinSystem | kinoml.core.systems.ProteinLigandComplex) bool
-

Check that exactly one protein is present in the System

-
-
-
-
-class kinoml.features.protein.AminoAcidCompositionFeaturizer(**kwargs)
-

Bases: SingleProteinFeaturizer

-

Featurizes the protein using the composition of the residues in the binding site.

-
-
-_counter
-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinSystem | kinoml.core.systems.ProteinLigandComplex) numpy.array | None
-

Featurizes a protein using the residue count in the sequence.

-
-
Parameters:
-

system (ProteinSystem or ProteinLigandComplex) – The System to be featurized.

-
-
Returns:
-

The count of amino acids in the binding site.

-
-
Return type:
-

np.array or None

-
-
-
-
-
-
-class kinoml.features.protein.OneHotEncodedSequenceFeaturizer(sequence_type: str = 'full', **kwargs)
-

Bases: kinoml.features.core.BaseOneHotEncodingFeaturizer, SingleProteinFeaturizer

-

Featurizes the sequence of the protein to a one hot encoding.

-
-
-ALPHABET
-
-
-
-_retrieve_sequence(system: kinoml.core.systems.ProteinSystem | kinoml.core.systems.ProteinLigandComplex) str
-

Implement in your component-specific subclass!

-
-
-
-
-class kinoml.features.protein.OEProteinStructureFeaturizer(**kwargs)
-

Bases: kinoml.features.core.OEBaseModelingFeaturizer, SingleProteinFeaturizer

-

Given systems with exactly one protein, prepare the protein structure by:

-
-
    -
  • modeling missing loops with OESpruce according to the PDB header unless -a custom sequence is specified via the uniprot_id or sequence -attribute in the protein component (see below), missing sequences at -N- and C-termini are not modeled

  • -
  • building missing side chains

  • -
  • substitutions, deletions and insertions, if a uniprot_id or sequence -attribute is provided for the protein component alteration will be -modeled with OESpruce, if an alteration could not be modeled, the -corresponding mismatch in the structure will be deleted

  • -
  • removing everything but protein and water

  • -
  • protonation at pH 7.4

  • -
-
-

The protein component of each system must be a core.proteins.Protein -or a subclass thereof, must be initialized with toolkit=’OpenEye’ and -give access to a molecular structure, e.g. via a pdb_id. Additionally, -the protein component can have the following optional attributes to -customize the protein modeling:

-
-
    -
  • -
    name: A string specifying the name of the protein, will be used for

    generating the output file name.

    -
    -
    -
  • -
  • chain_id: A string specifying which chain should be used.

  • -
  • -
    alternate_location: A string specifying which alternate location

    should be used.

    -
    -
    -
  • -
  • expo_id: A string specifying a ligand bound to the protein of -interest. This is especially useful if multiple proteins are found in -one PDB structure.

  • -
  • uniprot_id: A string specifying the UniProt ID that will be used to -fetch the amino acid sequence from UniProt, which will be used for -modeling the protein. This will supersede the sequence information -given in the PDB header.

  • -
  • sequence: A string specifying the amino acid sequence in -one-letter-codes that should be used during modeling the protein. This -will supersede a given uniprot_id and the sequence information given -in the PDB header.

  • -
-
-
-
Parameters:
-
    -
  • loop_db (str) – The path to the loop database used by OESpruce to model missing loops.

  • -
  • cache_dir (str, Path or None, default=None) – Path to directory used for saving intermediate files. If None, default -location provided by appdirs.user_cache_dir() will be used.

  • -
  • output_dir (str, Path or None, default=None) – Path to directory used for saving output files. If None, output -structures will not be saved.

  • -
  • use_multiprocessing (bool, default=True) – If multiprocessing to use.

  • -
  • n_processes (int or None, default=None) – How many processes to use in case of multiprocessing. Defaults to -number of available CPUs.

  • -
-
-
-
-
-_featurize_one(system: kinoml.core.systems.ProteinSystem) Universe | None
-

Prepare a protein structure.

-
-
Parameters:
-

system (ProteinSystem) – A system object holding a protein component.

-
-
Returns:
-

An MDAnalysis universe of the featurized system. None if no design unit was found.

-
-
Return type:
-

Universe or None

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/index.html b/docs/_build/html/api/kinoml/index.html deleted file mode 100644 index 85fc9836..00000000 --- a/docs/_build/html/api/kinoml/index.html +++ /dev/null @@ -1,669 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/index.html b/docs/_build/html/api/kinoml/ml/index.html deleted file mode 100644 index 8a14250b..00000000 --- a/docs/_build/html/api/kinoml/ml/index.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/lightning_modules/index.html b/docs/_build/html/api/kinoml/ml/lightning_modules/index.html deleted file mode 100644 index 92b5c7e3..00000000 --- a/docs/_build/html/api/kinoml/ml/lightning_modules/index.html +++ /dev/null @@ -1,795 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.lightning_modules — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.ml.lightning_modules

-

Training loops built with pytorch-lightning

-

WIP

-
-

Module Contents

-
-
-class kinoml.ml.lightning_modules.RootMeanSquaredError
-

Bases: pytorch_lightning.metrics.MeanSquaredError

-

WIP

-
-
-compute()
-

WIP

-
-
-
-
-class kinoml.ml.lightning_modules.ObservationModelModule(nn_model, optimizer, loss_function, validate=True)
-

Bases: pytorch_lightning.LightningModule

-

WIP

-
-
-forward(x, observation_model=_null_observation_model)
-

WIP

-
-
-
-_standard_step(batch, batch_idx, **kwargs)
-

WIP

-
-
-
-training_step(batch, batch_idx, **kwargs)
-

WIP

-
-
-
-_common_validation_test_step(batch, batch_idx, dataloader_idx=0, metric_prefix='val', **kwargs)
-

WIP

-
-
-
-_common_validation_test_epoch_end(output_results, metric_prefix='val')
-

WIP

-
-
-
-_disabled_validation_step(*args, **kwargs)
-

WIP

-
-
-
-_disabled_validation_epoch_end(*args, **kwargs)
-

WIP

-
-
-
-test_step(*args, **kwargs)
-

WIP

-
-
-
-test_epoch_end(*args, **kwargs)
-

WIP

-
-
-
-configure_optimizers()
-

WIP

-
-
-
-
-class kinoml.ml.lightning_modules.MultiDataModule(datasets: List[torch.utils.data.Dataset], observation_models: List[callable] = (_null_observation_model,), **kwargs)
-

Bases: pytorch_lightning.LightningDataModule

-

WIP

-
-
-property active_dataset
-

WIP

-
-
-
-property active_dataset_index
-

WIP

-
-
-
-dataset_indices_by_size(reverse=False)
-

WIP

-
-
-
-_build_dataloader(dataset_index=None, indices=None)
-

WIP

-
-
-
-train_dataloader(dataset_index=None)
-

WIP

-
-
-
-val_dataloader(dataset_index=None)
-

WIP

-
-
-
-test_dataloader(dataset_index=None)
-

WIP

-
-
-
-get_kfold(nfolds=5, with_validation=True, shuffle=False, **kwargs)
-

WIP

-
-
-
-
-class kinoml.ml.lightning_modules.CrossValidateTrainer(nfolds=5, with_validation=True, shuffle=False, *args, **kwargs)
-

WIP

-
-
-fit(model, datamodule)
-

WIP

-
-
-
-_patch_paths_for_kfold(fold_trainer, fold)
-

WIP

-
-
-
-test(dataset_index=0, **kwargs)
-

WIP

-
-
-
-best_run()
-

WIP

-
-
-
-clear()
-

WIP

-
-
-
-
-class kinoml.ml.lightning_modules.ObservationModelDataLoader(observation_model=_null_observation_model, *args, **kwargs)
-

Bases: torch.utils.data.DataLoader

-

WIP

-
-
-__iter__()
-
-
-
-
-class kinoml.ml.lightning_modules._IterWithObsModel(iterator, observation_model)
-

WIP

-
-
-__getattr__(name: str)
-
-
-
-__next__()
-
-
-
-__iter__()
-
-
-
-
-class kinoml.ml.lightning_modules.AttrList(*args, **kwargs)
-

Bases: list

-

A subclass of list that can accept additional attributes. -Should be able to be used just like a regular list.

-

The problem: -a = [1, 2, 4, 8] -a.x = “Hey!” # AttributeError: ‘list’ object has no attribute ‘x’

-

The solution: -a = L(1, 2, 4, 8) -a.x = “Hey!” -print a # [1, 2, 4, 8] -print a.x # “Hey!” -print len(a) # 4

-

You can also do these: -a = L( 1, 2, 4, 8 , x=”Hey!” ) # [1, 2, 4, 8] -a = L( 1, 2, 4, 8 )( x=”Hey!” ) # [1, 2, 4, 8] -a = L( [1, 2, 4, 8] , x=”Hey!” ) # [1, 2, 4, 8] -a = L( {1, 2, 4, 8} , x=”Hey!” ) # [1, 2, 4, 8] -a = L( [2 ** b for b in range(4)] , x=”Hey!” ) # [1, 2, 4, 8] -a = L( (2 ** b for b in range(4)) , x=”Hey!” ) # [1, 2, 4, 8] -a = L( 2 ** b for b in range(4) )( x=”Hey!” ) # [1, 2, 4, 8] -a = L( 2 ) # [2]

-

Taken from https://code.activestate.com/recipes/579103-python-addset-attributes-to-list/

-
-
-__call__(**kwargs)
-
-
-
-
-class kinoml.ml.lightning_modules.KFold3Way(n_splits=5, *, shuffle=False, random_state=None)
-

Bases: sklearn.model_selection.KFold

-

WIP

-
-
-split(X, y=None, groups=None, with_validation=True)
-

WIP

-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/tensorflow_models/index.html b/docs/_build/html/api/kinoml/ml/tensorflow_models/index.html deleted file mode 100644 index fae261d4..00000000 --- a/docs/_build/html/api/kinoml/ml/tensorflow_models/index.html +++ /dev/null @@ -1,547 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.tensorflow_models — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.ml.tensorflow_models

-

Example models for TensorFlow

-
-

Note

-

This code is not currently in use.

-
-
-

Module Contents

-
-
-kinoml.ml.tensorflow_models.DNN(input_dim)
-

DNN builds and compiles a TF model (a Deep Neural Network) that takes as input ‘input_dim’

-
-
Parameters:
-

input_dim (tuple of int) – Expected shape of the input data

-
-
Returns:
-

model

-
-
Return type:
-

tf.keras.models.Sequential

-
-
-
-
-
-kinoml.ml.tensorflow_models.CNN(input_shape)
-

CNN builds and compiles a TF model (a Convolutional Neural Network) that takes as input ‘input_shape’ -:param input_shape: Expected shape of the input data -:type input_shape: tuple of int

-
-
Returns:
-

model

-
-
Return type:
-

tf.keras.models.Sequential

-
-
-
-
-
-kinoml.ml.tensorflow_models.MPNN(input_shape)
-

MPNN builds and compiles a TF model (a Message Passing Neural Network) that takes as input ‘input_shape’ -:param input_shape: Expected shape of the input data -:type input_shape: tuple of int

-
-
Returns:
-

model

-
-
Return type:
-

tf.keras.models.Sequential

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/torch_geometric_models/index.html b/docs/_build/html/api/kinoml/ml/torch_geometric_models/index.html deleted file mode 100644 index ad30bdd1..00000000 --- a/docs/_build/html/api/kinoml/ml/torch_geometric_models/index.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.torch_geometric_models — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.ml.torch_geometric_models

-

Implementation of some Deep Neural Networks in Pytorch using Pytorch Geometric.

-
-

Module Contents

-
-
-class kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork(input_shape, embedding_shape=100, hidden_shape=50, output_shape=1, activation=F.relu)
-

Bases: kinoml.ml.torch_models._BaseModule

-

Builds a Graph Convolutional Network and a feed-forward pass

-
-
Parameters:
-
    -
  • input_shape (int) – Number of features per node in the graph.

  • -
  • embedding_shape (int, default=100) – Dimension of latent vector.

  • -
  • hidden_shape (int, default=50) – Dimension of the hidden shape.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • _activation (torch function, default=relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-needs_input_shape = True
-
-
-
-static estimate_input_shape(input_sample)
-

This static method takes the same input -as .forward() would and estimates the -incoming shape so the layers can be initialized -properly.

-

Most of the time, input_sample would be a -Tensor, in which the first dimension corresponds -to systems, and the second is the input shape -we need.

-

If your .forward() method takes something else -than a Tensor, please adapt this method accordingly.

-
-
-
-forward(data)
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/torch_loops/index.html b/docs/_build/html/api/kinoml/ml/torch_loops/index.html deleted file mode 100644 index 55a3fb30..00000000 --- a/docs/_build/html/api/kinoml/ml/torch_loops/index.html +++ /dev/null @@ -1,560 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.torch_loops — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.ml.torch_loops

-

WIP

-
-

Module Contents

-
-
-kinoml.ml.torch_loops.multi_measurement_training_loop(dataloaders, observation_models, model, optimizer, loss_function, epochs=100)
-

Standard training loop with multiple dataloaders and observation models.

-
-
Parameters:
-
    -
  • dataloaders (dict of str -> torch.utils.data.DataLoader) – key must refer to the measurement type present in the dataloader

  • -
  • observation_models (dict of str -> callable) – keys must be the same as in dataloaders, and point to pytorch-compatible callables -that convert delta_over_kt to the corresponding measurement_type

  • -
  • model (torch.nn.Model) – instance of the model to train

  • -
  • optimizer (torch.optim.Optimizer) – instance of the optimization engine

  • -
  • loss_function (torch.nn.modules._Loss) – instance of the loss function to apply (e.g. MSELoss())

  • -
  • epochs (int) – number of iterations the loop will run

  • -
-
-
Returns:
-

    -
  • model (torch.nn.Model) – The trained model (same instance as provided in parameters)

  • -
  • loss_timeseries (list of float) – Cumulative loss per epoch

  • -
-

-
-
-
-
-
-class kinoml.ml.torch_loops.EarlyStopping(patience=5, min_delta=0)
-

Early stopping to stop the training when the loss does not improve after -certain epochs.

-

Taken from https://debuggercafe.com/using-learning-rate-scheduler-and-early-stopping-with-pytorch/

-
-
-__call__(val_loss)
-
-
-
-
-class kinoml.ml.torch_loops.LRScheduler(optimizer, patience=5, min_lr=1e-06, factor=0.5)
-

Learning rate scheduler. If the validation loss does not decrease for the -given number of patience epochs, then the learning rate will decrease by -by given factor.

-

Taken from https://debuggercafe.com/using-learning-rate-scheduler-and-early-stopping-with-pytorch/

-
-
-__call__(val_loss)
-
-
-
-
-kinoml.ml.torch_loops._old_training_loop()
-

Deprecated

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/torch_models/index.html b/docs/_build/html/api/kinoml/ml/torch_models/index.html deleted file mode 100644 index 71fb3140..00000000 --- a/docs/_build/html/api/kinoml/ml/torch_models/index.html +++ /dev/null @@ -1,776 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.torch_models — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.ml.torch_models

-
-

Module Contents

-
-
-class kinoml.ml.torch_models._BaseModule(*args, **kwargs)
-

Bases: torch.nn.Module

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-
-
-needs_input_shape = True
-
-
-
-static estimate_input_shape(input_sample)
-

This static method takes the same input -as .forward() would and estimates the -incoming shape so the layers can be initialized -properly.

-

Most of the time, input_sample would be a -Tensor, in which the first dimension corresponds -to systems, and the second is the input shape -we need.

-

If your .forward() method takes something else -than a Tensor, please adapt this method accordingly.

-
-
-
-
-class kinoml.ml.torch_models.NeuralNetworkRegression(input_shape, hidden_shape=100, output_shape=1, activation=F.relu)
-

Bases: _BaseModule

-

Builds a vanilla neural network and a feed-forward pass for a ligand setting.

-
-
Parameters:
-
    -
  • input_shape (int) – Dimension of the input vector.

  • -
  • hidden_shape (int, default=100) – Number of units in the hidden layer.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • _activation (torch function, default: relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-forward(system)
-

Defines the foward pass for a system, -which contains the featurized molecular components and the associated measurement/label. -Since only the featurized system is needed, the first element is retrieved. -In this case, the ligand is a 1D array of shape (length of fingerprint).

-
-

Notes

-

More information about how featurization are stored can be found at -https://github.com/openkinome/experiments-binding-affinity/blob/master/features/featurize-template.ipynb .

-
-
-
-
-
-class kinoml.ml.torch_models.ListOfTupleNeuralNetworkregression(input_shape, hidden_shape=100, output_shape=1, activation=F.relu)
-

Bases: NeuralNetworkRegression

-

This example model does not take a Tensor in, but a -tuple of tensors. Each tensor has shape -(n_systems, n_features).

-

As a result, one needs to concatenate the results -before passing it to the parent .forward() method.

-
-
-static estimate_input_shape(input_sample)
-

This static method takes the same input -as .forward() would and estimates the -incoming shape so the layers can be initialized -properly.

-

Most of the time, input_sample would be a -Tensor, in which the first dimension corresponds -to systems, and the second is the input shape -we need.

-

If your .forward() method takes something else -than a Tensor, please adapt this method accordingly.

-
-
-
-forward(x)
-

Defines the foward pass for a system, -which contains the featurized molecular components and the associated measurement/label. -Since only the featurized system is needed, the first element is retrieved. -In this case, the ligand is a 1D array of shape (length of fingerprint).

-
-

Notes

-

More information about how featurization are stored can be found at -https://github.com/openkinome/experiments-binding-affinity/blob/master/features/featurize-template.ipynb .

-
-
-
-
-
-class kinoml.ml.torch_models.DenseNeuralNetworkRegression(input_shape, hidden_shape=(350, 200, 100, 50, 16), output_shape=1, dropout_percentage=0.4, activation=F.relu)
-

Bases: _BaseModule

-

Builds a Dense Neural Network and a feed-forward pass.

-
-
Parameters:
-
    -
  • input_shape (int) – Dimension of the input vector.

  • -
  • hidden_shape (list) – Number of units in each of the hidden layers.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • dropout_percentage (float) – The percentage of hidden to by dropped at random.

  • -
  • _activation (torch function, default=relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-forward(x)
-

Defines the foward pass for a given input ‘x’

-
-
-
-
-class kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression(input_shape, embedding_shape=300, kernel_shape=10, hidden_shape=100, output_shape=1, activation=F.relu)
-

Bases: _BaseModule

-

Builds a Convolutional Neural Network and a feed-forward pass for a ligand setting.

-
-
Parameters:
-
    -
  • input_shape (int) – Dimension of the input of the system.

  • -
  • embedding_shape (int, default=200) – Dimension of the embedding after convolution.

  • -
  • kernel_shape (int, default=10) – Size of the kernel for the convolution.

  • -
  • hidden_shape (int, default=100) – Number of units in the hidden layer.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • activation (torch function, default=relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-forward(system)
-

Defines the foward pass for a system, -which contains the featurized molecular components and the associated measurement/label. -Since only the featurized system is needed, the first element is retrieved. -In this case, the ligand is a 2D array of shape (nb of character, length of smiles).

-
-

Notes

-

More information about how featurization are stored can be found at -https://github.com/openkinome/experiments-binding-affinity/blob/master/features/featurize-template.ipynb .

-
-
-
-
-
-class kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed(input_shape, embedding_shape=300, kernel_shape=10, hidden_shape=100, output_shape=1, activation=F.relu)
-

Bases: _BaseModule

-

Builds a Convolutional Neural Network and a feed-forward pass for a protein-ligand setting.

-
-
Parameters:
-
    -
  • input_shape (tuple) – Dimension of input tensors, for the ligand and the protein.

  • -
  • embedding_shape (int, default=200) – Dimension of the embedding after convolution.

  • -
  • kernel_shape (int, default=10) – Size of the kernel for the convolution.

  • -
  • hidden_shape (int, default=100) – Number of units in the hidden layer.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • activation (torch function, default=relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-forward(system)
-

Defines the foward pass for given a system, -which contains the featurized molecular components and the associated measurement/label. -In this case, the input is composed of two entities: -ligand and protein, so the two first elements are retrieved. -In this case, the ligand is a 2D array of shape (nb of character, length of smiles) -and the protein a 2D array of shape (nb of residues, length of sequence)

-
-

Notes

-

More information about how featurization are stored can be found at -https://github.com/openkinome/experiments-binding-affinity/blob/master/features/featurize-template.ipynb .

-
-
-
-
-
-class kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed(input_shape, embedding_shape_ligand=300, embedding_shape_protein=10, kernel_shape=10, hidden_shape=100, output_shape=1, activation=F.relu)
-

Bases: _BaseModule

-

Builds a Neural Network and a feed-forward pass for a protein-ligand setting.

-
-
Parameters:
-
    -
  • input_shape (tuple) – Dimension of input tensors, for the ligand and the protein.

  • -
  • embedding_shape_ligand (int, default=300) – Dimension of the embedding for the ligand.

  • -
  • embedding_shape_protein (int, default=10) – Dimension of the embedding for the protein.

  • -
  • kernel_shape (int, default=10) – Size of the kernel for the convolution.

  • -
  • hidden_shape (int, default=100) – Number of units in the hidden layer.

  • -
  • output_shape (int, default=1) – Size of the last unit, representing delta_g_over_kt in our setting.

  • -
  • activation (torch function, default=relu) – The activation function used in the hidden (only!) layer of the network.

  • -
-
-
-
-
-forward(system)
-

Defines the foward pass for given a system, -which contains the featurized molecular components and the associated measurement/label. -In this case, the input is composed of two entities: -ligand and protein, so the two first elements are retrieved. -In this case, the ligand is a 1D array of shape (length of fingerprint), -and the protein a 1D array of shape (length of sequence composition).

-
-

Notes

-

More information about how featurization are stored can be found at -https://github.com/openkinome/experiments-binding-affinity/blob/master/features/featurize-template.ipynb .

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/ml/torch_trees/index.html b/docs/_build/html/api/kinoml/ml/torch_trees/index.html deleted file mode 100644 index 9c8e7f46..00000000 --- a/docs/_build/html/api/kinoml/ml/torch_trees/index.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.ml.torch_trees — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.ml.torch_trees

-

Expose some useful objects in the sklearn-pytorch library

-

These will provide Random Forest and Decision Tree implementations -for PyTorch using the sklearn API.

-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/modeling/MDAnalysisModeling/index.html b/docs/_build/html/api/kinoml/modeling/MDAnalysisModeling/index.html deleted file mode 100644 index 12a7ce91..00000000 --- a/docs/_build/html/api/kinoml/modeling/MDAnalysisModeling/index.html +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.modeling.MDAnalysisModeling — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.modeling.MDAnalysisModeling

-
-

Module Contents

-
-
-kinoml.modeling.MDAnalysisModeling.logger
-
-
-
-kinoml.modeling.MDAnalysisModeling.read_molecule(path: str | pathlib.Path, guess_bonds: bool = True) MDAnalysis.core.universe.Universe
-

Read a molecule from a file. Uses Biopython to support reading of the CIF format.

-
-
Parameters:
-
    -
  • path (str, pathlib.Path) – Path to molecule file.

  • -
  • guess_bonds (bool, default=True) – If bonds should be guessed by the van-der-Waals radius.

  • -
-
-
Returns:
-

molecule – The MDAnalysis universe.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.write_molecule(molecule: MDAnalysis.core.groups.AtomGroup, file_path: str | pathlib.Path, delete_segid: bool = True)
-

Write an AtomGroup to a file. If written in PDB format and delete_segid is True the segid will -be deleted from the PDB file. -(https://docs.mdanalysis.org/1.0.0/documentation_pages/coordinates/PDB.html)

-
-
Parameters:
-
-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.select_chain(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, chain_id: str) MDAnalysis.core.universe.Universe
-

Select a chain from an MDAnalysis molecule.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a molecular structure.

  • -
  • chain_id (str) – Chain identifier.

  • -
-
-
Returns:
-

An MDAnalysis universe holding the selected chain.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.select_altloc(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, altloc_id: str, altloc_fallback: bool = True) MDAnalysis.core.universe.Universe
-

Select an alternate location from an MDAnalysis molecule.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a molecular structure.

  • -
  • altloc_id (str) – Alternate location identifier.

  • -
  • altloc_fallback (bool) – If the alternate location “A” should be used for residues that do -not contain the given alternate location identifier.

  • -
-
-
Returns:
-

selection – An MDAnalysis universe holding the selected alternate location.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
Raises:
-

ValueError – No atoms were found with given altloc id.

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.remove_non_protein(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, exceptions: None | Iterable[str] = None, only_standard_amino_acids: bool = True, remove_water: bool = False) MDAnalysis.core.universe.Universe
-

Remove non-protein atoms from an OpenEye molecule. Water will be kept by default.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a molecular structure.

  • -
  • exceptions (None or iterable of str) – Exceptions that should not be removed.

  • -
  • only_standard_amino_acids (bool, default=True) – If only standard amino acids shell be retained, .i.e. ALA, ARG, ASN, ASP, CYS, GLN, GLU, -GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SEC, SER, THR, TRP, TYR, VAL.

  • -
  • remove_water (bool, default=False) – If water should be removed.

  • -
-
-
Returns:
-

An MDAnalysis universe holding the filtered structure.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.delete_residues(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, residues: Iterable[MDAnalysis.core.groups.Residue])
-

Delete residues from an MDAnalysis molecule.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a molecular structure.

  • -
  • residues (iterable of MDAnalysis.core.groups.Residue) –

  • -
-
-
Returns:
-

An MDAnalysis molecule holding a molecular structure without given residues.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.delete_incomplete_backbone_residues(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup) MDAnalysis.core.universe.Universe
-

Delete protein residues with incomplete backbone, i.e. less than 4 backbone heavy atoms.

-
-
Parameters:
-

molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a molecular structure.

-
-
Returns:
-

An MDAnalysis molecule holding a molecular structure without protein residues with -incomplete backbone.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.delete_expression_tags(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, pdb_path: str | pathlib.Path) MDAnalysis.core.universe.Universe
-

Delete expression tags listed in the PDB header section “SEQADV”.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule.

  • -
  • pdb_path (str or pathlib.Path) – The path to the PDB file containing the information about expression tags.

  • -
-
-
Returns:
-

The MDAnalysis universe without expression tags.

-
-
Return type:
-

Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.get_sequence(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup) str
-

Get the amino acid sequence with one letter characters of an MDAnalysis molecule. -All residues not named as standard amino acid will receive the character ‘X’.

-
-
Parameters:
-

molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule.

-
-
Returns:
-

sequence – The amino acid sequence with one letter characters.

-
-
Return type:
-

str

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.get_structure_sequence_alignment(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, sequence: str) Tuple[str, str]
-

Generate an alignment between an MDAnalysis protein structure and an amino acid sequence. The -provided protein structure should only contain protein residues to prevent unexpected behavior. -Also, this alignment was optimized for highly similar sequences, i.e. only few mutations, -deletions and insertions. Non protein residues will be marked with “X”. The provided MDAnalysis -molecule needs bond information to properly work, hence use “guess_bonds=True” when loading -the universe.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a protein structure.

  • -
  • sequence (str) – A one letter amino acid sequence.

  • -
-
-
Returns:
-

    -
  • structure_sequence_aligned (str) – The aligned protein structure sequence with gaps denoted as “-“.

  • -
  • sequence_aligned (str) – The aligned amino acid sequence with gaps denoted as “-“.

  • -
-

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.delete_alterations(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, sequence: str, delete_n_anchors: int = 2, short_protein_segments_cutoff: int = 3) MDAnalysis.core.universe.Universe
-

Delete residues from an MDAnalysis molecule that are not covered by the given sequence, i.e. -mutations and insertions. The provided protein structure should only contain protein residues -to prevent unexpected behavior.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a protein structure.

  • -
  • sequence (str) – A one letter amino acid sequence.

  • -
  • delete_n_anchors (int, default=2) – The number of anchoring residues to delete when deleting insertions.

  • -
  • short_protein_segments_cutoff (int, default=3) – If deleting residues will lead to short protein segments, delete these segments with a -length up to the specified cutoff.

  • -
-
-
Returns:
-

An MDAnalysis molecule holding a protein structure without alterations deleted.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.delete_short_protein_segments(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, cutoff: int = 3) MDAnalysis.core.universe.Universe
-

Delete protein segments consisting of 3 or less residues. Needs to have bonding information -to work correctly.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a protein with possibly short segments.

  • -
  • cutoff (int, default=3) – The upper bound defining a short protein segment.

  • -
-
-
Returns:
-

An MDAnalysis molecule holding the protein without short segments.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.renumber_protein_residues(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, template_sequence: str) MDAnalysis.core.universe.Universe
-

Renumber a protein structure according to the provided sequence.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – An MDAnalysis molecule holding a protein structure.

  • -
  • template_sequence (str) – The amino acid sequence to use for renumbering.

  • -
-
-
Returns:
-

An MDAnalysis molecule holding the renumbered protein structure.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
-kinoml.modeling.MDAnalysisModeling.update_residue_identifiers(molecule: MDAnalysis.core.universe.Universe | MDAnalysis.core.groups.AtomGroup, keep_protein_residue_ids: bool = True, keep_chain_ids: bool = False) MDAnalysis.core.universe.Universe
-

Update the atom, residue and chain IDs of the given molecular structure. All residues become -part of chain A, unless ‘keep_chain_ids’ is set True. Atom IDs will start from 1. Residue IDs -will start from 1, except ‘keep_protein_residue_ids’ is set True. This is especially useful, if -molecules were merged, which can result in overlapping atom and residue IDs as well as -separate chains.

-
-
Parameters:
-
    -
  • molecule (MDAnalysis.core.universe.Universe or MDAnalysis.core.groups.Atomgroup) – The MDAnalysis molecule structure for updating atom and residue ids.

  • -
  • keep_protein_residue_ids (bool) – If the protein residues should be kept.

  • -
  • keep_chain_ids (bool) – If the chain IDS should be kept.

  • -
-
-
Returns:
-

The MDAnalysis molecule structure with updated atom and residue ids.

-
-
Return type:
-

MDAnalysis.core.universe.Universe

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/modeling/OEModeling/index.html b/docs/_build/html/api/kinoml/modeling/OEModeling/index.html deleted file mode 100644 index 05bed311..00000000 --- a/docs/_build/html/api/kinoml/modeling/OEModeling/index.html +++ /dev/null @@ -1,1303 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.modeling.OEModeling — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.modeling.OEModeling

-
-

Module Contents

-
-
-kinoml.modeling.OEModeling.logger
-
-
-
-kinoml.modeling.OEModeling.read_smiles(smiles: str, add_hydrogens: bool = True) openeye.oechem.OEGraphMol
-

Read molecule from a smiles string. Explicit hydrogens will be added by default.

-
-
Parameters:
-
    -
  • smiles (str) – Smiles string.

  • -
  • add_hydrogens (bool) – If explicit hydrogens should be added.

  • -
-
-
Returns:
-

molecule – A molecule as OpenEye molecules.

-
-
Return type:
-

oechem.OEGraphMol

-
-
Raises:
-

ValueError – Could not interpret input SMILES.

-
-
-
-
-
-kinoml.modeling.OEModeling.read_molecules(path: str | pathlib.Path, add_hydrogens: bool = False) List[openeye.oechem.OEGraphMol]
-

Read molecules from a file. Explicit hydrogens will not be added by default.

-
-
Parameters:
-
    -
  • path (str, pathlib.Path) – Path to molecule file.

  • -
  • add_hydrogens (bool) – If explicit hydrogens should be added.

  • -
-
-
Returns:
-

molecules – A List of molecules as OpenEye molecules.

-
-
Return type:
-

list of oechem.OEGraphMol

-
-
Raises:
-

ValueError – Given file does not contain valid molecules.

-
-
-
-
-
-kinoml.modeling.OEModeling.read_electron_density(path: str | pathlib.Path) openeye.oegrid.OESkewGrid
-

Read electron density from a file.

-
-
Parameters:
-

path (str, pathlib.Path) – Path to electron density file.

-
-
Returns:
-

electron_density – A List of molecules as OpenEye molecules.

-
-
Return type:
-

oegrid.OESkewGrid or None

-
-
Raises:
-

ValueError – Not a valid electron density file or wrong format. Only MTZ is currently supported.

-
-
-
-
-
-kinoml.modeling.OEModeling.write_molecules(molecules: List[openeye.oechem.OEMolBase], path: str | pathlib.Path)
-

Save molecules to file.

-
-
Parameters:
-
    -
  • molecules (list of oechem.OEMolBase) – A list of OpenEye molecules for writing.

  • -
  • path (str, pathlib.Path) – File path for saving molecules.

  • -
-
-
-
-
-
-kinoml.modeling.OEModeling.select_chain(molecule: openeye.oechem.OEMolBase, chain_id: str) openeye.oechem.OEMolBase
-

Select a chain from an OpenEye molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule holding a molecular structure.

  • -
  • chain_id (str) – Chain identifier.

  • -
-
-
Returns:
-

selection – An OpenEye molecule holding the selected chain.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-

ValueError – No atoms were found with given chain id.

-
-
-
-
-
-kinoml.modeling.OEModeling.select_altloc(molecule: openeye.oechem.OEMolBase, altloc_id: str, altloc_fallback: bool = True) openeye.oechem.OEMolBase
-

Select an alternate location from an OpenEye molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule holding a molecular structure.

  • -
  • altloc_id (str) – Alternate location identifier.

  • -
  • altloc_fallback (bool) – If the alternate location with the highest occupancy should be used for residues that do -not contain the given alternate location identifier.

  • -
-
-
Returns:
-

selection – An OpenEye molecule holding the selected alternate location.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-

ValueError – No atoms were found with given altloc id.

-
-
-
-
-
-kinoml.modeling.OEModeling.remove_non_protein(molecule: openeye.oechem.OEMolBase, exceptions: None | List[str] = None, remove_water: bool = False) openeye.oechem.OEMolBase
-

Remove non-protein atoms from an OpenEye molecule. Water will be kept by default.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule holding a molecular structure.

  • -
  • exceptions (None or list of str) – Exceptions that should not be removed.

  • -
  • remove_water (bool) – If water should be removed.

  • -
-
-
Returns:
-

selection – An OpenEye molecule holding the filtered structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.delete_residue(structure: openeye.oechem.OEMolBase, chain_id: str, residue_name: str, residue_id: int) openeye.oechem.OEGraphMol
-

Delete a residue from an OpenEye molecule.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule with residue information.

  • -
  • chain_id (str) – The chain id of the residue

  • -
  • residue_name (str) – The residue name in three letter code.

  • -
  • residue_id (int) – The residue id.

  • -
-
-
Returns:
-

The OpenEye molecule without the residue.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-

ValueError – Defined residue was not found in given structure.

-
-
-
-
-
-kinoml.modeling.OEModeling.get_expression_tags(structure: openeye.oechem.OEMolBase, labels: Iterable[str] = ('EXPRESSION TAG', 'CLONING ARTIFACT')) List[Dict]
-

Get the chain id, residue name and residue id of residues in expression tags from a protein structure listed in the -PDB header section “SEQADV”.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule with associated PDB header section “SEQADV”.

  • -
  • labels (Iterable of str) – The ‘SEQADV’ labels defining expression tags. Default: (‘EXPRESSION TAG’, ‘CLONING ARTIFACT’).

  • -
-
-
Returns:
-

The chain id, residue name and residue id of residues in the expression tags.

-
-
Return type:
-

list of dict

-
-
-
-
-
-kinoml.modeling.OEModeling.assign_caps(structure: openeye.oechem.OEMolBase, real_termini: Union[Iterable[int] or None] = None) openeye.oechem.OEMolBase
-

Cap N and C termini of the given input structure. Real termini can be protected from capping -by providing the corresponding residue ids via the ‘real_termini’ argument.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – The OpenEye molecule holding the protein structure to cap.

  • -
  • real_termini (iterable of int or None) – The biologically relevant real termini that should be prevented from capping.

  • -
-
-
Returns:
-

structure – The OpenEye molecule holding the capped structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.prepare_structure(structure: openeye.oechem.OEMolBase, has_ligand: bool = False, electron_density: openeye.oegrid.OESkewGrid | None = None, loop_db: str | None = None, ligand_name: str | None = None, chain_id: str | None = None, alternate_location: str | None = None, cap_termini: bool = True, real_termini: List[int] | None = None) openeye.oechem.OEDesignUnit
-

Prepare an OpenEye molecule holding a protein ligand complex for docking.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule holding a structure with protein and optionally a ligand.

  • -
  • has_ligand (bool) – If structure contains a ligand that should be used in design unit generation.

  • -
  • electron_density (oegrid.OESkewGrid) – An OpenEye grid holding the electron density.

  • -
  • loop_db (str or None) – Path to OpenEye Spruce loop database. You can request a copy at -https://www.eyesopen.com/database-downloads. A testing subset (3TPP) is available -at https://docs.eyesopen.com/toolkits/python/sprucetk/examples_make_design_units.html.

  • -
  • ligand_name (str or None) – The name of the ligand located in the binding pocket of interest.

  • -
  • chain_id (str or None) – The chain id of interest. If chain id is None, best chain will be selected according to OESpruce.

  • -
  • alternate_location (str or None) – The alternate location of interest. If alternate location is None, best alternate location will be selected -according to OEChem.

  • -
  • cap_termini (bool) – If termini should be capped with ACE and NME.

  • -
  • real_termini (list of int or None) – Residue numbers of biologically real termini will not be capped with ACE and NME.

  • -
-
-
Returns:
-

design_unit – An OpenEye design unit holding the prepared structure with the highest quality among all identified design -units.

-
-
Return type:
-

oechem.OEDesignUnit

-
-
Raises:
-

ValueError – No design unit found with given chain ID, ligand name and alternate location.

-
-
-
-
-
-kinoml.modeling.OEModeling.prepare_complex(protein_ligand_complex: openeye.oechem.OEMolBase, electron_density: openeye.oegrid.OESkewGrid | None = None, loop_db: str | None = None, ligand_name: str | None = None, chain_id: str | None = None, alternate_location: str | None = None, cap_termini: bool = True, real_termini: List[int] | None = None) openeye.oechem.OEDesignUnit
-

Prepare an OpenEye molecule holding a protein ligand complex for docking.

-
-
Parameters:
-
    -
  • protein_ligand_complex (oechem.OEMolBase) – An OpenEye molecule holding a structure with protein and ligand.

  • -
  • electron_density (oegrid.OESkewGrid) – An OpenEye grid holding the electron density.

  • -
  • loop_db (str or None) – Path to OpenEye Spruce loop database.

  • -
  • ligand_name (str or None) – The name of the ligand located in the binding pocket of interest.

  • -
  • chain_id (str or None) – The chain id of interest. If chain id is None, best chain will be selected according to OESpruce.

  • -
  • alternate_location (str or None) – The alternate location of interest. If alternate location is None, best alternate location will be selected -according to OEChem.

  • -
  • cap_termini (bool) – If termini should be capped with ACE and NME.

  • -
  • real_termini (list of int or None) – Residue numbers of biologically real termini will not be capped with ACE and NME.

  • -
-
-
Returns:
-

design_unit – An OpenEye design unit holding the prepared structure with the highest quality among all identified design -units.

-
-
Return type:
-

oechem.OEDesignUnit

-
-
Raises:
-

ValueError – No design unit found with given chain ID, ligand name and alternate location.

-
-
-
-
-
-kinoml.modeling.OEModeling.prepare_protein(protein: openeye.oechem.OEMolBase, loop_db: str | None = None, chain_id: str | None = None, alternate_location: str | None = None, cap_termini: bool = True, real_termini: List[int] | None = None) openeye.oechem.OEDesignUnit
-

Prepare an OpenEye molecule holding a protein structure for docking.

-
-
Parameters:
-
    -
  • protein (oechem.OEMolBase) – An OpenEye molecule holding a structure with protein.

  • -
  • loop_db (str) – Path to OpenEye Spruce loop database.

  • -
  • chain_id (str or None) – The chain id of interest. If chain id is None, best chain will be selected according to OESpruce.

  • -
  • alternate_location (str or None) – The alternate location of interest. If alternate location is None, best alternate location will be selected -according to OEChem.

  • -
  • cap_termini (bool) – If termini should be capped with ACE and NME.

  • -
  • real_termini (list of int or None) – Residue numbers of biologically real termini will not be capped with ACE and NME.

  • -
-
-
Returns:
-

design_unit – An OpenEye design unit holding the prepared structure with the highest quality among all identified design -units.

-
-
Return type:
-

oechem.OEDesignUnit or None

-
-
Raises:
-

ValueError – No design unit found with given chain ID, ligand name and alternate location.

-
-
-
-
-
-kinoml.modeling.OEModeling.generate_tautomers(molecule: openeye.oechem.OEMolBase | openeye.oechem.OEMCMolBase, max_generate: int = 4096, max_return: int = 16, pKa_norm: bool = True) List[openeye.oechem.OEMolBase | openeye.oechem.OEMCMolBase]
-

Generate reasonable tautomers of a given molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase or oechem.OEMCMolBase) – An OpenEye molecule.

  • -
  • max_generate (int) – Maximal number of tautomers to generate.

  • -
  • max_return (int) – Maximal number of tautomers to return.

  • -
  • pKa_norm (bool) – Assign the predominant ionization state at pH ~7.4.

  • -
-
-
Returns:
-

tautomers – A list of OpenEye molecules holding the tautomers.

-
-
Return type:
-

list of oechem.OEMolBase or oechem.OEMCMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.generate_enantiomers(molecule: openeye.oechem.OEMolBase, max_centers: int = 12, force_flip: bool = False, enumerate_nitrogens: bool = True) List[openeye.oechem.OEMolBase]
-

Generate enantiomers of a given molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule.

  • -
  • max_centers (int) – The maximal number of stereo centers to enumerate.

  • -
  • force_flip (bool) – If specified stereo centers should be enumerated.

  • -
  • enumerate_nitrogens (bool) – If nitrogens with invertible pyramidal geometry should be enumerated.

  • -
-
-
Returns:
-

enantiomers – A list of OpenEye molecules holding the enantiomers.

-
-
Return type:
-

list of oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.generate_conformations(molecule: openeye.oechem.OEMolBase, options: openeye.oeomega.OEOmegaOptions = oeomega.OEOmegaOptions(oeomega.OEOmegaSampling_Classic)) openeye.oechem.OEMCMolBase
-

Generate conformations of a given molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule.

  • -
  • options (oeomega.OEOmegaOptions, default=oeomega.OEOmegaOptions(oeomega.OEOmegaSampling_Classic)) – Options for generating conformations. If the given molecule is a macrocycle only the -maximal number of conformations will be changed from the defaults defined in -oeomega.OEMacrocycleOmegaOptions().

  • -
-
-
Returns:
-

conformations – An OpenEye multi-conformer molecule holding the generated conformations.

-
-
Return type:
-

oechem.OEMCMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.generate_reasonable_conformations(molecule: openeye.oechem.OEMolBase, options: openeye.oeomega.OEOmegaOptions = oeomega.OEOmegaOptions(oeomega.OEOmegaSampling_Classic), pKa_norm: bool = True) List[openeye.oechem.OEMCMolBase]
-

Generate conformations of reasonable enantiomers and tautomers of a given molecule.

-
-
Parameters:
-
    -
  • molecule (oechem.OEMolBase) – An OpenEye molecule.

  • -
  • options (oeomega.OEOmegaOptions, default=oeomega.OEOmegaOptions(oeomega.OEOmegaSampling_Classic)) – Options for generating conformations. If the given molecule is a macrocycle only the -maximal number of conformations will be changed from the defaults defined in -oeomega.OEMacrocycleOmegaOptions().

  • -
  • pKa_norm (bool) – Assign the predominant ionization state at pH ~7.4.

  • -
-
-
Returns:
-

conformations_ensemble – A list of OpenEye multi-conformer molecules.

-
-
Return type:
-

list of oechem.OEMCMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.overlay_molecules(reference_molecule: openeye.oechem.OEMolBase, fit_molecule: openeye.oechem.OEMCMolBase)
-

Overlay a multi-conformer molecule to a single-conformer molecule and calculate the TanimotoCombo score.

-
-
Parameters:
-
    -
  • reference_molecule (oechem.OEMolBase) – An OpenEye molecule holding a single conformation of the reference molecule for overlay.

  • -
  • fit_molecule (oechem.OEMCMolBase) – An OpenEye multi-conformer molecule holding the conformations of a molecule to fit during overlay.

  • -
-
-
Returns:
-

The TanimotoCombo score and the OpenEye molecules of the best overlay

-
-
Return type:
-

float, list of oechem.OEGraphMol

-
-
-
-
-
-kinoml.modeling.OEModeling.enumerate_isomeric_smiles(molecule: openeye.oechem.OEMolBase) Set[str]
-

Enumerate reasonable isomeric SMILES representations of a given OpenEye molecule.

-
-
Parameters:
-

molecule (oechem.OEMolBase) – An OpenEye molecule.

-
-
Returns:
-

smiles_set – A set of reasonable isomeric SMILES strings.

-
-
Return type:
-

set of str

-
-
-
-
-
-kinoml.modeling.OEModeling.are_identical_molecules(molecule1: openeye.oechem.OEMolBase, molecule2: openeye.oechem.OEMolBase) bool
-

Check if two OpenEye molecules are identical.

-
-
Parameters:
-
    -
  • molecule1 (oechem.OEMolBase) – The first OpenEye molecule.

  • -
  • molecule2 (oechem.OEMolBase) – The second OpenEye molecule.

  • -
-
-
Returns:
-

True if identical molecules, else False.

-
-
Return type:
-

bool

-
-
-
-
-
-kinoml.modeling.OEModeling.get_sequence(structure: openeye.oechem.OEMolBase) str
-

Get the amino acid sequence with one letter characters of an OpenEye molecule. -All residues not perceived as standard amino acid will receive the character ‘X’.

-
-
Parameters:
-

structure (oechem.OEMolBase) – An OpenEye molecule.

-
-
Returns:
-

sequence – The amino acid sequence with one letter characters.

-
-
Return type:
-

str

-
-
-
-
-
-kinoml.modeling.OEModeling.get_structure_sequence_alignment(structure: openeye.oechem.OEMolBase, sequence: str) Tuple[str, str]
-

Generate an alignment between a protein structure and an amino acid sequence. The provided protein structure should -only contain protein residues to prevent unexpected behavior. Also, this alignment was optimized for highly similar -sequences, i.e. only few mutations, deletions and insertions. Non protein residues will be marked with “X”.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure.

  • -
  • sequence (str) – A one letter amino acid sequence.

  • -
-
-
Returns:
-

    -
  • structure_sequence_aligned (str) – The aligned protein structure sequence with gaps denoted as “-“.

  • -
  • sequence_aligned (str) – The aligned amino acid sequence with gaps denoted as “-“.

  • -
-

-
-
-
-
-
-kinoml.modeling.OEModeling.apply_deletions(target_structure: openeye.oechem.OEMolBase, template_sequence: str, delete_n_anchors: int = 2) openeye.oechem.OEMolBase
-

Apply deletions to a protein structure according to an amino acid sequence. The provided protein structure should -only contain protein residues to prevent unexpected behavior.

-
-
Parameters:
-
    -
  • target_structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure for which deletions should be applied.

  • -
  • template_sequence (str) – A template one letter amino acid sequence, which holds potential deletions when compared to the target -structure sequence.

  • -
  • delete_n_anchors (int) – Specify how many anchoring residues should be deleted at each side of the deletion. Important if connecting -anchoring residues after deletion is intended, e.g. via apply_insertion. Only affects deletions in the middle -of a sequence, not at the end or the beginning.

  • -
-
-
Returns:
-

structure_with_deletions – An OpenEye molecule holding the protein structure with applied deletions.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-

ValueError – Negative values are not allowed for ‘delete_n_anchors’.

-
-
-
-
-
-kinoml.modeling.OEModeling.apply_insertions(target_structure: openeye.oechem.OEMolBase, template_sequence: str, loop_db: str | pathlib.Path, ligand: openeye.oechem.OEMolBase | None = None) openeye.oechem.OEMolBase
-

Apply insertions to a protein structure according to an amino acid sequence. The provided protein structure should -only contain protein residues to prevent unexpected behavior.

-
-
Parameters:
-
    -
  • target_structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure for which insertions should be applied.

  • -
  • template_sequence (str) – A template one letter amino acid sequence, which holds potential insertions when compared to the target -structure sequence.

  • -
  • loop_db (str or Path) – The path to the loop database used by OESpruce to model missing loops.

  • -
  • ligand (oechem.OEMolBase or None, default=None) – An OpenEye molecule that should be checked for heavy atom clashes with built insertions.

  • -
-
-
Returns:
-

structure_with_insertions – An OpenEye molecule holding the protein structure with applied insertions.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.apply_mutations(target_structure: openeye.oechem.OEMolBase, template_sequence: str, fallback_delete: bool = True) openeye.oechem.OEMolBase
-

Mutate a protein structure according to an amino acid sequence. The provided protein structure should only contain -protein residues to prevent unexpected behavior. Residues that could not be mutated will be deleted by default.

-
-
Parameters:
-
    -
  • target_structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure to mutate.

  • -
  • template_sequence (str) – A template one letter amino acid sequence, which holds potential mutations when compared to the target -structure sequence.

  • -
  • fallback_delete (bool) – If the residue should be deleted if it could not be mutated.

  • -
-
-
Returns:
-

An OpenEye molecule holding the mutated protein structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-

ValueError – Mutation {oeresidue.GetName()}{oeresidue.GetResidueNumber()}{three_letter_code} failed! -Only raised when fallback_delete is set False.

-
-
-
-
-
-kinoml.modeling.OEModeling.delete_partial_residues(structure: openeye.oechem.OEMolBase) openeye.oechem.OEMolBase
-

Delete residues with missing sidechain or backbone atoms. The backbone is considered complete -if atoms C, CA and N are present.

-
-
Parameters:
-

structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure.

-
-
Returns:
-

structure – An OpenEye molecule holding only residues with completely modeled side chains.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.delete_short_protein_segments(structure: openeye.oechem.OEMolBase) openeye.oechem.OEMolBase
-

Delete protein segments consisting of 3 or less residues.

-
-
Parameters:
-

structure (oechem.OEMolBase) – An OpenEye molecule holding a protein with possibly short segments.

-
-
Returns:
-

structure – An OpenEye molecule holding the protein without short segments.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.delete_clashing_sidechains(structure: openeye.oechem.OEMolBase, cutoff: float = 2.0) openeye.oechem.OEMolBase
-

Delete side chains that are clashing with other atoms of the given structure.

-

Note: Structures containing non-protein residues may lead to unexpected behavior, since also -those residues will be deleted if clashing with other residues of the system. However, this -behavior is important to be able to also check PTMs for clashes.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule holding a protein structure.

  • -
  • cutoff (float) – The distance cutoff that is used for defining a heavy atom clash. -Note: Going bigger than 2.3 A may lead to the deletion of residues involved in strong -hydrogen bonds.

  • -
-
-
Returns:
-

processed_structure – An OpenEye molecule holding the protein structure without clashing sidechains.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.get_atom_coordinates(molecule: openeye.oechem.OEMolBase) List[Tuple[float, float, float]]
-

Retrieve the atom coordinates of an OpenEye molecule.

-
-
Parameters:
-

molecule (oechem.OEMolBase) – An OpenEye molecule for which the coordinates should be retrieved.

-
-
Returns:
-

coordinates – The coordinates of the given molecule atoms.

-
-
Return type:
-

list of tuple of float

-
-
-
-
-
-kinoml.modeling.OEModeling.renumber_structure(target_structure: openeye.oechem.OEMolBase, residue_ids: Iterable[int]) openeye.oechem.OEGraphMol
-

Renumber the residues of a protein structure according to the given list of residue IDs.

-
-
Parameters:
-
    -
  • target_structure (oechem.OEMolBase) – An OpenEye molecule holding the protein structure to renumber.

  • -
  • residue_ids (iterable of int) – An iterable of residue IDs matching the order of the target structure.

  • -
-
-
Returns:
-

renumbered_structure – An OpenEye molecule holding the cropped protein structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
Raises:
-
    -
  • ValueError – Number of given residue IDs does not match number of residues in the given structure.

  • -
  • ValueError – Given residue IDs contain wrong types, only int is allowed.

  • -
-
-
-
-
-
-kinoml.modeling.OEModeling.superpose_proteins(reference_protein: openeye.oechem.OEMolBase, fit_protein: openeye.oechem.OEMolBase, residues: Iterable = tuple(), chain_id: str = ' ', insertion_code: str = ' ') openeye.oechem.OEMolBase
-

Superpose a protein structure onto a reference protein. The superposition -can be customized to consider only the specified residues.

-
-
Parameters:
-
    -
  • reference_protein (oechem.OEMolBase) – An OpenEye molecule holding a protein structure which will be used as reference during superposition.

  • -
  • fit_protein (oechem.OEMolBase) – An OpenEye molecule holding a protein structure which will be superposed onto the reference protein.

  • -
  • residues (Iterable of str) – Residues that should be used during superposition in format “GLY123”.

  • -
  • chain_id (str) – Chain identifier for residues that should be used during superposition.

  • -
  • insertion_code (str) – Insertion code for residues that should be used during superposition.

  • -
-
-
Returns:
-

superposed_protein – An OpenEye molecule holding the superposed protein structure.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.update_residue_identifiers(structure: openeye.oechem.OEMolBase, keep_protein_residue_ids: bool = True, keep_chain_ids: bool = False) openeye.oechem.OEMolBase
-

Update the atom, residue and chain IDs of the given molecular structure. All residues become -part of chain A, unless ‘keep_chain_ids’ is set True. Atom IDs will start from 1. Residue IDs -will start from 1, except ‘keep_protein_residue_ids’ is set True. This is especially useful, if -molecules were merged, which can result in overlapping atom and residue IDs as well as -separate chains.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – The OpenEye molecule structure for updating atom and residue ids.

  • -
  • keep_protein_residue_ids (bool) – If the protein residues should be kept.

  • -
  • keep_chain_ids (bool) – If the chain IDS should be kept.

  • -
-
-
Returns:
-

structure – The OpenEye molecule structure with updated atom and residue ids.

-
-
Return type:
-

oechem.OEMolBase

-
-
-
-
-
-kinoml.modeling.OEModeling.split_molecule_components(molecule: openeye.oechem.OEMolBase) List[openeye.oechem.OEGraphMol]
-

Split an OpenEye molecule into its bonded components.

-
-
Parameters:
-

molecule (oechem.OEMolBase) – An OpenEye molecule holding multiple components.

-
-
Returns:
-

components – A list of OpenEye molecules holding the split components.

-
-
Return type:
-

list of oechem.OEGraphMol

-
-
-
-
-
-kinoml.modeling.OEModeling.residue_ids_to_residue_names(structure: openeye.oechem.OEMolBase, residue_ids: List[int], chain_id: None | str = None) List[str]
-

Get the corresponding residue names for a list of residue IDs and a give OpenEye molecule -with residue information.

-
-
Parameters:
-
    -
  • structure (oechem.OEMolBase) – An OpenEye molecule with residue information.

  • -
  • residue_ids (list of int) – A list of residue IDs.

  • -
  • chain_id (None or str) – The chain ID to filter for.

  • -
-
-
Returns:
-

residue_names – The corresponding residue names as three letter codes.

-
-
Return type:
-

list of str

-
-
Raises:
-
    -
  • ValueError – No residue found for residue ID {resid}.

  • -
  • ValueError – Found multiple residues for residue ID {resid}.

  • -
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/modeling/SCHRODINGERModeling/index.html b/docs/_build/html/api/kinoml/modeling/SCHRODINGERModeling/index.html deleted file mode 100644 index a00d942d..00000000 --- a/docs/_build/html/api/kinoml/modeling/SCHRODINGERModeling/index.html +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.modeling.SCHRODINGERModeling — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.modeling.SCHRODINGERModeling

-
-

Module Contents

-
-
-kinoml.modeling.SCHRODINGERModeling.logger
-
-
-
-kinoml.modeling.SCHRODINGERModeling.run_prepwizard(schrodinger_directory: pathlib.Path | str, input_file: pathlib.Path | str, output_file: pathlib.Path | str, cap_termini: bool = True, build_loops: bool = True, sequence: str | None = None, chain_id: str = '', protein_pH: str = 'neutral', propka_pH: float = 7.4, epik_pH: float = 7.4, force_field: str = '3')
-

Run the prepwizard utility to prepare a protein structure.

-
-
Parameters:
-
    -
  • schrodinger_directory (Path or str) – The path to the directory of the Schrodinger installation.

  • -
  • input_file (Path or str) – The path to the input file.

  • -
  • output_file (Path or str) – The path to the output file.

  • -
  • cap_termini (bool, default=True) – If termini should be capped.

  • -
  • build_loops (bool, default=True) – If loops should be built.

  • -
  • sequence (str or None) – The amino acid sequence in single letter codes that should be used for loop building. -Also needs the chain_id parameter to work correctly.

  • -
  • chain_id (str, default="") – The chain ID of the protein that should be modeled based on the given sequence.

  • -
  • protein_pH (str, default='neutral') – The pH used during protonation of the protein (‘very_low’, ‘low’, ‘neutral’, ‘high’).

  • -
  • propka_pH (float, default=7.4) – Run PROPKA at given pH.

  • -
  • epik_pH (float, default=7.4) – The pH used during protonation of the ligand.

  • -
  • force_field (str, default='3') – Force field to use during minimization (2005, 3)

  • -
-
-
-
-
-
-kinoml.modeling.SCHRODINGERModeling.mae_to_pdb(schrodinger_directory: str | pathlib.Path, mae_file_path: str | pathlib.Path, pdb_file_path: str | pathlib.Path)
-

Convert a structure file from MAE to PDB format.

-
-
Parameters:
-
    -
  • schrodinger_directory (str or pathlib.Path) – The path to the directory of the Schrodinger installation.

  • -
  • mae_file_path (str or pathlib.Path) – The path to the input file in MAE format.

  • -
  • pdb_file_path (str or pathlib.Path) – The path to the output file in PDB format.

  • -
-
-
-
-
-
-kinoml.modeling.SCHRODINGERModeling.shape_screen(schrodinger_directory: pathlib.Path | str, query_path: str | pathlib.Path, library_path: str | pathlib.Path, output_sdf_path: str | pathlib.Path, flexible: bool = True, thorough_sampling: bool = True, keep_best_match_only: bool = True)
-

Run the shape_screen tool to align a library of small molecules to the given shape query.

-
-
Parameters:
-
    -
  • schrodinger_directory (Path or str) – The path to the directory of the Schrodinger installation.

  • -
  • query_path (Path or str) – The path to a valid shape query, e.g. an SDF file with one or more small molecules.

  • -
  • library_path (Path or str) – The path to a valid ligand library for shape screening, e.g. and SDF file with one more -small molecules.

  • -
  • output_sdf_path (Path or str) – The path to the output SDF file of the shape screening.

  • -
  • flexible (bool, default=True) – If conformers shell be generated for the small molecule library to screen.

  • -
  • thorough_sampling (bool, default=True) – If conformations shell thoroughly sampled.

  • -
  • keep_best_match_only (bool, default=True) – In case multiple shape queries, if only the results for best matching shape query shell -be returned.

  • -
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/modeling/alignment/index.html b/docs/_build/html/api/kinoml/modeling/alignment/index.html deleted file mode 100644 index f7e49c47..00000000 --- a/docs/_build/html/api/kinoml/modeling/alignment/index.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.modeling.alignment — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

kinoml.modeling.alignment

-
-

Module Contents

-
-
-kinoml.modeling.alignment.sequence_similarity(sequence1: str, sequence2: str, open_gap_penalty: int = -11, extend_gap_penalty: int = -1, substitution_matrix: str = 'BLOSUM62') float
-

Calculate the squence similarity of two amino acid sequences.

-
-
Parameters:
-
    -
  • sequence1 (str) – The first sequence.

  • -
  • sequence2 (str) – The second sequence.

  • -
  • open_gap_penalty (int) – The penalty to open a gap.

  • -
  • extend_gap_penalty (int) – The penalty to extend a gap.

  • -
  • substitution_matrix (str) – The substitution matrix to use during alignment. -Available matrices can be found via: ->>> from Bio.Align import substitution_matrices ->>> substitution_matrices.load()

  • -
-
-
Returns:
-

score – Similarity of sequences.

-
-
Return type:
-

float

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/modeling/index.html b/docs/_build/html/api/kinoml/modeling/index.html deleted file mode 100644 index bb01a209..00000000 --- a/docs/_build/html/api/kinoml/modeling/index.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.modeling — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/optimize/index.html b/docs/_build/html/api/kinoml/optimize/index.html deleted file mode 100644 index 0117ed13..00000000 --- a/docs/_build/html/api/kinoml/optimize/index.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.optimize — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/utils/index.html b/docs/_build/html/api/kinoml/utils/index.html deleted file mode 100644 index cb7eaec8..00000000 --- a/docs/_build/html/api/kinoml/utils/index.html +++ /dev/null @@ -1,827 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.utils — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

kinoml.utils

-

Miscellaneous utilities

-
-

Module Contents

-
-
-kinoml.utils.APPDIR
-
-
-
-kinoml.utils.PACKAGE_ROOT
-
-
-
-class kinoml.utils.FromDistpatcherMixin
-
-
-classmethod _from_dispatcher(value, handler, handler_argname, prefix)
-
-
-
-
-class kinoml.utils.LocalFileStorage
-

Generate standardized paths for storing and reading data locally.

-
-
-DIRECTORY
-
-
-
-static rcsb_structure_pdb(pdb_id, directory=DIRECTORY)
-
-
-
-static rcsb_structure_cif(pdb_id, directory=DIRECTORY)
-
-
-
-static rcsb_ligand_sdf(pdb_id, chain_id, expo_id, altloc, directory=DIRECTORY)
-
-
-
-static rcsb_electron_density_mtz(pdb_id, directory=DIRECTORY)
-
-
-
-static klifs_ligand_mol2(structure_id, directory=DIRECTORY)
-
-
-
-static klifs_structure_db(directory=DIRECTORY)
-
-
-
-static klifs_kinase_db(directory=DIRECTORY)
-
-
-
-static featurizer_result(featurizer_name, result_details, file_format, directory=DIRECTORY)
-
-
-
-static pdb_smiles_json(directory=DIRECTORY)
-
-
-
-
-class kinoml.utils.FileDownloader
-

Download and store files locally.

-
-
-DIRECTORY
-
-
-
-static rcsb_structure_pdb(pdb_id, directory=DIRECTORY)
-
-
-
-static rcsb_structure_cif(pdb_id, directory=DIRECTORY)
-
-
-
-static rcsb_electron_density_mtz(pdb_id, directory=DIRECTORY)
-
-
-
-
-kinoml.utils.datapath(path: str) pathlib.Path
-

Return absolute path to a file contained in this package’s data -directory.

-
-
Parameters:
-

path (str) – Relative path to file in data.

-
-
Returns:
-

Absolute path to the file in the KinoML data directory. -Existence is not checked or guaranteed.

-
-
Return type:
-

path pathlib.Path

-
-
-
-
-
-kinoml.utils.grouper(iterable: Iterable, n: int, fillvalue: Any = None) Iterable
-

Given an iterable, consume it in n-sized groups, -filling it with fillvalue if needed.

-
-
Parameters:
-
    -
  • iterable (list, tuple, str or iterable) – Something that can be split in sub-items and grouped.

  • -
  • n (int) – Size of the group

  • -
  • fillvalue (object) – Last group will be padded with this object until -len(group)==n

  • -
-
-
-
-
-
-class kinoml.utils.defaultdictwithargs(call: Callable)
-

Bases: collections.defaultdict

-

A defaultdict that will create new values based on the missing value

-
-
Parameters:
-

call (class or callable) – Factory to be called on missing key

-
-
-
-
-__missing__(key)
-
-
-
-
-kinoml.utils.download_file(url: str, path: str)
-

Download a file and save it locally.

-
-
Parameters:
-
    -
  • url (str) – URL for downloading data.

  • -
  • path (str) – Path to save downloaded data.

  • -
-
-
Returns:
-

True if successful, else False.

-
-
Return type:
-

bool

-
-
-
-
-
-kinoml.utils.seed_everything(seed=1234)
-

Fix the random number generator seed in several pieces -of the Python runtime: Python itself, NumPy, Torch.

-
-
Parameters:
-

seed (int, optional=1234) –

-
-
-
-
-
-kinoml.utils.watermark()
-

Check and log versions and environment details of the execution -context. We currently check for:

-
    -
  • Whatever watermark (the library) returns

  • -
  • The output of nvidia-smi, if available

  • -
  • The output of conda info, if available

  • -
  • The output of conda list, if available

  • -
-
-

Note

-

This assumes you are running the function inside a Jupyter notebook.

-
-
-
-
-kinoml.utils.collapsible(function, *args, **kwargs)
-

An IPython widget that can collapse its contents.

-
-
Parameters:
-

function (callable) – A function that generates some kind of output -(print, plots, etc). Args and kwargs will be -forwarded here.

-
-
Return type:
-

ipywidgets.Accordion

-
-
-
-
-
-kinoml.utils.fill_until_next_multiple(container, multiple_of: int, factory)
-

Fill container with instances of factory until its length -reaches the next multiple of multiple_of.

-

container gets modified in place and returned.

-
-
Parameters:
-
    -
  • container (list or set) – Extendable container

  • -
  • multiple_of (int) – The final size of container will match the next multiple -of this number.

  • -
  • factory (callable) – This callable will be run to produce the filler elements -used to extend container

  • -
-
-
Returns:
-

Modified in place

-
-
Return type:
-

container

-
-
-
-
-
-kinoml.utils.import_object(import_path: str)
-

Import an object using its full import path

-
-
Parameters:
-

import_path (str) – Full import path to object, like kinoml.core.measurements.MeasurementType.

-
-
Return type:
-

object

-
-
-
-
-
-kinoml.utils.sha256_objects(objects_to_hash: Iterable[object]) str
-

Generate a SHA256 hash of pickable objects.

-
-
Parameters:
-

objects_to_hash (Iterable of object) – Objects that should be hashed.

-
-
Returns:
-

The SHA256 of given objects.

-
-
Return type:
-

str

-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/api/kinoml/workflows/index.html b/docs/_build/html/api/kinoml/workflows/index.html deleted file mode 100644 index 123897d0..00000000 --- a/docs/_build/html/api/kinoml/workflows/index.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kinoml.workflows — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html deleted file mode 100644 index 8adc5afc..00000000 --- a/docs/_build/html/genindex.html +++ /dev/null @@ -1,2240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Index — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- - -

Index

- -
- _ - | A - | B - | C - | D - | E - | F - | G - | H - | I - | K - | L - | M - | N - | O - | P - | R - | S - | T - | U - | V - | W - | X - -
-

_

- - - -
- -

A

- - - -
- -

B

- - - -
- -

C

- - - -
- -

D

- - - -
- -

E

- - - -
- -

F

- - - -
- -

G

- - - -
- -

H

- - - -
- -

I

- - - -
- -

K

- - - -
- -

L

- - - -
- -

M

- - - -
- -

N

- - - -
- -

O

- - - -
- -

P

- - - -
- -

R

- - - -
- -

S

- - - -
- -

T

- - - -
- -

U

- - -
- -

V

- - - -
- -

W

- - - -
- -

X

- - -
- - - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html deleted file mode 100644 index ea7b9c63..00000000 --- a/docs/_build/html/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KinoML — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - -
-
-

Structure-informed machine learning for kinase modeling

-
-
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

Warning!

-

This is module is undergoing heavy development. None of the API calls are final. This software is provided without any guarantees of correctness, you will likely encounter bugs.

-

If you are interested in this code, please wait for the official release to use it. In the mean time, to stay informed of development progress you are encouraged to:

-
    -
  • Subscribe for new releases (use Watch> Releases only on GitHub)

  • -
  • Check out the Github repository.

  • -
-
-
-

KinoML

-

Welcome to the Documentation of KinoML! The documentation is divided into two parts:

-
    -
  • User guide: in this section you will learn how to use KinoML to filter and download data from a data base, featurize your kinase data so that it is ML friendly and train and evaluate a ML model on your featurized kinase data. You will also learn about the KinoML object model, and how to access each of these objects. We also provide a detailed examples of how to use every featurizer implemented within KinoML.

  • -
  • Experiment tutorials: this section shows how to use KinoML to ML structure-based experiments. All experiments are structure-based and they are all end to end, from data collection to model training and evaluation.

  • -
-

KinoML falls under the OpenKinome initiative, which aims to leverage the increasingly available bioactivity data and scalable computational resources to perform kinase-centric drug design in the context of structure-informed machine learning and free energy calculations. KinoML is the main library supporting these efforts.

-

Do you want to know more about OpenKinome ecosystem? Check its website.

- -
-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/OpenEye_structural_featurizer.html b/docs/_build/html/notebooks/OpenEye_structural_featurizer.html deleted file mode 100644 index 7111d94d..00000000 --- a/docs/_build/html/notebooks/OpenEye_structural_featurizer.html +++ /dev/null @@ -1,1805 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OpenEye Structural Featurizer — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- - - - -
-
- -
-

OpenEye Structural Featurizer

-

This notebook introduces structural modeling featurizers using the OpenEye toolkits to prepare protein structures and to dock small molecules into their binding sites.

-

Note: All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the cache_dir parameter, but also has a default (user_cache_dir from appdirs). In case you update your KinoML version you should consider -deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache.

-
-
[1]:
-
-
-
%%capture --no-display
-from importlib import resources
-import inspect
-from pathlib import Path
-
-from appdirs import user_cache_dir
-
-from kinoml.core.ligands import Ligand
-from kinoml.core.proteins import Protein, KLIFSKinase
-from kinoml.core.systems import ProteinSystem, ProteinLigandComplex
-from kinoml.features.core import Pipeline
-from kinoml.features.protein import OEProteinStructureFeaturizer
-from kinoml.features.complexes import (
-    OEComplexFeaturizer,
-    OEDockingFeaturizer,
-    MostSimilarPDBLigandFeaturizer,
-    KLIFSConformationTemplatesFeaturizer,
-)
-
-
-
-
-

OEProteinStructureFeaturizer

-

All OpenEye Featurizers come with an extensive doc string explaining the capabilities and requirements.

-
-
[2]:
-
-
-
print(inspect.getdoc(OEProteinStructureFeaturizer))
-
-
-
-
-
-
-
-
-Given systems with exactly one protein, prepare the protein structure by:
-
- - modeling missing loops with OESpruce according to the PDB header unless
-   a custom sequence is specified via the `uniprot_id` or `sequence`
-   attribute in the protein component (see below), missing sequences at
-   N- and C-termini are not modeled
- - building missing side chains
- - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`
-   attribute is provided for the protein component alteration will be
-   modeled with OESpruce, if an alteration could not be modeled, the
-   corresponding mismatch in the structure will be deleted
- - removing everything but protein and water
- - protonation at pH 7.4
-
-The protein component of each system must be a `core.proteins.Protein`
-or a subclass thereof, must be initialized with toolkit='OpenEye' and
-give access to a molecular structure, e.g. via a pdb_id. Additionally,
-the protein component can have the following optional attributes to
-customize the protein modeling:
-
- - `name`: A string specifying the name of the protein, will be used for
-    generating the output file name.
- - `chain_id`: A string specifying which chain should be used.
- - `alternate_location`: A string specifying which alternate location
-    should be used.
- - `expo_id`: A string specifying a ligand bound to the protein of
-   interest. This is especially useful if multiple proteins are found in
-   one PDB structure.
- - `uniprot_id`: A string specifying the UniProt ID that will be used to
-   fetch the amino acid sequence from UniProt, which will be used for
-   modeling the protein. This will supersede the sequence information
-   given in the PDB header.
- - `sequence`: A  string specifying the amino acid sequence in
-   one-letter-codes that should be used during modeling the protein. This
-   will supersede a given `uniprot_id` and the sequence information given
-   in the PDB header.
-
-Parameters
-----------
-loop_db: str
-    The path to the loop database used by OESpruce to model missing loops.
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-output_dir: str, Path or None, default=None
-    Path to directory used for saving output files. If None, output
-    structures will not be saved.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-
-

In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated.

-
-
[3]:
-
-
-
# collect systems to featurize, i.e. prepare the protein structure
-systems = []
-
-
-
-
-
[4]:
-
-
-
# unspecifc definition of the system, only via PDB ID
-# modeling will be performed according to the sequence stored in the PDB Header
-protein = Protein(pdb_id="4f8o", name="PsaA")
-system = ProteinSystem(components=[protein])
-systems.append(system)
-
-
-
-
-
[5]:
-
-
-
# more specific definition of the system, protein of chain A co-crystallized with ligand AES and
-# alternate location B, modeling will be performed according to the sequence of the given
-# UniProt ID
-protein = Protein.from_pdb(pdb_id="4f8o", name="PsaA")
-protein.uniprot_id = "P31522"
-protein.chain_id = "A"
-protein.alternate_location = "B"
-protein.expo_id = "AES"
-system = ProteinSystem(components=[protein])
-systems.append(system)
-
-
-
-
-
[6]:
-
-
-
# use a protein structure form file
-with resources.path("kinoml.data.proteins", "4f8o_edit.pdb") as structure_path:
-    pass
-protein = Protein.from_file(file_path=structure_path, name="PsaA")
-protein.uniprot_id = "P31522"
-system = ProteinSystem(components=[protein])
-systems.append(system)
-
-
-
-
-
[7]:
-
-
-
with resources.path("kinoml.data.proteins", "kinoml_tests_4f8o_spruce.loop_db") as loop_db:
-    pass
-featurizer = OEProteinStructureFeaturizer(
-    loop_db=loop_db,
-    output_dir=user_cache_dir() + "/protein",
-    use_multiprocessing=False,
-)
-
-
-
-
-
[8]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-
-
-
[8]:
-
-
-
-
-[<ProteinSystem with 1 components (<Protein name=PsaA>)>,
- <ProteinSystem with 1 components (<Protein name=PsaA>)>,
- <ProteinSystem with 1 components (<Protein name=PsaA>)>]
-
-
-

The featurizers will return the featurized systems as an MDAnalysis universe. Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:

-
import logging
-logging.basicConfig(level=logging.DEBUG)
-
-
-
-
[9]:
-
-
-
systems[0]
-
-
-
-
-
[9]:
-
-
-
-
-<ProteinSystem with 1 components (<Protein name=PsaA>)>
-
-
-
-
[10]:
-
-
-
systems[0].featurizations["last"]
-
-
-
-
-
[10]:
-
-
-
-
-<Universe with 2381 atoms>
-
-
-

If an output_dir was provided, the prepared structure is saved in PDB and OEB format.

-
-
[11]:
-
-
-
for path in sorted(Path(user_cache_dir() + "/protein").glob("*")):
-    print(path.name)
-
-
-
-
-
-
-
-
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.oeb
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.pdb
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.oeb
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.pdb
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.oeb
-kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.pdb
-
-
-
-
-

OEComplexFeaturizer

-
-
[12]:
-
-
-
print(inspect.getdoc(OEComplexFeaturizer))
-
-
-
-
-
-
-
-
-Given systems with exactly one protein and one ligand, prepare the complex
-structure by:
-
- - modeling missing loops with OESpruce according to the PDB header unless
-   a custom sequence is specified via the `uniprot_id` or `sequence`
-   attribute in the protein component (see below), missing sequences at
-   N- and C-termini are not modeled
- - building missing side chains
- - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`
-   attribute is provided for the protein component alteration will be
-   modeled with OESpruce, if an alteration could not be modeled, the
-   corresponding mismatch in the structure will be deleted
- - removing everything but protein, water and ligand of interest
- - protonation at pH 7.4
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, must be initialized with toolkit='OpenEye' and give
-access to the molecular structure, e.g. via a pdb_id. Additionally, the
-protein component can have the following optional attributes to customize
-the protein modeling:
-
- - `name`: A string specifying the name of the protein, will be used for
-   generating the output file name.
- - `chain_id`: A string specifying which chain should be used.
- - `alternate_location`: A string specifying which alternate location
-   should be used.
- - `expo_id`: A string specifying the ligand of interest. This is
-   especially useful if multiple ligands are present in a PDB structure.
- - `uniprot_id`: A string specifying the UniProt ID that will be used to
-   fetch the amino acid sequence from UniProt, which will be used for
-   modeling the protein. This will supersede the sequence information
-   given in the PDB header.
- - `sequence`: A string specifying the amino acid sequence in
-   one-letter-codes that should be used during modeling the protein. This
-   will supersede a given `uniprot_id` and the sequence information given
-   in the PDB header.
-
-The ligand component of each system must be a `core.components.BaseLigand`
-or a subclass thereof. The ligand component can have the following
-optional attributes:
-
- - `name`: A string specifying the name of the ligand, will be used for
-   generating the output file name.
-
-Parameters
-----------
-loop_db: str
-    The path to the loop database used by OESpruce to model missing loops.
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-output_dir: str, Path or None, default=None
-    Path to directory used for saving output files. If None, output
-    structures will not be saved.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-Note
-----
-If the ligand of interest is covalently bonded to the protein, the
-covalent bond will be broken. This may lead to the transformation of the
-ligand into a radical.
-
-
-
-
[13]:
-
-
-
systems = []
-
-
-
-
-
[14]:
-
-
-
protein = Protein(pdb_id="4f8o", name="PsaA")
-ligand = Ligand(name="AEBSF")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[15]:
-
-
-
protein = Protein.from_pdb(pdb_id="4f8o", name="PsaA")
-protein.uniprot_id = "P31522"
-protein.chain_id = "A"
-protein.alternate_location = "B"
-protein.expo_id = "AES"
-ligand = Ligand(name="AEBSF")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[16]:
-
-
-
featurizer = OEComplexFeaturizer(
-    output_dir=user_cache_dir() + "/complex",
-    use_multiprocessing=False,
-)
-
-
-
-
-
[17]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-
-
-
[17]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=PsaA>, <Ligand name=AEBSF>)>,
- <ProteinLigandComplex with 2 components (<Protein name=PsaA>, <Ligand name=AEBSF>)>]
-
-
-

If an output_dir was provided, the prepared structure is saved in PDB and OEB format, the prepared ligand is additionally saved in SDF format.

-
-
[18]:
-
-
-
for path in sorted(Path(user_cache_dir() + "/complex").glob("*")):
-    print(path.name)
-
-
-
-
-
-
-
-
-kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.oeb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_ligand.sdf
-kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.oeb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.pdb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.oeb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_ligand.sdf
-kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.oeb
-kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.pdb
-
-
-
-
-

OEDockingFeaturizer

-

The OEDockingFeaturizer supports 3 docking methods, i.e.: - Fred - standard docking protocol - Hybrid - biased by co-crystallized ligand - Posit - bias depends on the similarity to the co-crystallized ligand

-
-
[19]:
-
-
-
print(inspect.getdoc(OEDockingFeaturizer))
-
-
-
-
-
-
-
-
-Given systems with exactly one protein and one ligand, prepare the
-structure and dock the ligand into the prepared protein structure with
-one of OpenEye's docking algorithms:
-
- - modeling missing loops with OESpruce according to the PDB header unless
-   a custom sequence is specified via the `uniprot_id` or `sequence`
-   attribute in the protein component (see below), missing sequences at
-   N- and C-termini are not modeled
- - building missing side chains
- - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`
-   attribute is provided for the protein component alteration will be
-   modeled with OESpruce, if an alteration could not be modeled, the
-   corresponding mismatch in the structure will be deleted
- - removing everything but protein, water and ligand of interest
- - protonation at pH 7.4
- - perform docking
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, must be initialized with toolkit='OpenEye' and give
-access to the molecular structure, e.g. via a pdb_id. Additionally, the
-protein component can have the following optional attributes to customize
-the protein modeling:
-
- - `name`: A string specifying the name of the protein, will be used for
-   generating the output file name.
- - `chain_id`: A string specifying which chain should be used.
- - `alternate_location`: A string specifying which alternate location
-   should be used.
- - `expo_id`: A string specifying a ligand bound to the protein of
-   interest. This is especially useful if multiple proteins are found in
-   one PDB structure.
- - `uniprot_id`: A string specifying the UniProt ID that will be used to
-   fetch the amino acid sequence from UniProt, which will be used for
-   modeling the protein. This will supersede the sequence information
-   given in the PDB header.
- - `sequence`: A string specifying the amino acid sequence in
-   one-letter-codes that should be used during modeling the protein. This
-   will supersede a given `uniprot_id` and the sequence information given
-   in the PDB header.
- - `pocket_resids`: List of integers specifying the residues in the
-   binding pocket of interest. This attribute is required if docking with
-   Fred into an apo structure.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES. Additionally, the ligand component can have the following optional
-attributes:
-
- - `name`: A string specifying the name of the ligand, will be used for
-   generating the output file name.
-
-Parameters
-----------
-method: str, default="Posit"
-    The docking method to use ["Fred", "Hybrid", "Posit"].
-loop_db: str
-    The path to the loop database used by OESpruce to model missing loops.
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-output_dir: str, Path or None, default=None
-    Path to directory used for saving output files. If None, output
-    structures will not be saved.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-pKa_norm: bool, default=True
-    Assign the predominant ionization state of the molecules to dock at pH
-    ~7.4. If False, the ionization state of the input molecules will be
-    conserved.
-
-
-
-

Fred

-
-
[20]:
-
-
-
systems = []
-
-
-
-
-
[21]:
-
-
-
# define the binding site for docking via co-crystallized ligand
-protein = Protein(pdb_id="4yne", name="NTRK1")
-protein.expo_id = "4EK"
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[22]:
-
-
-
# define the binding site for docking via residue IDs
-protein = Protein(pdb_id="4yne", name="NTRK1")
-protein.pocket_resids = [
-    516, 517, 521, 524, 542, 544, 573, 589, 590, 591, 592, 595, 596, 654, 655, 656, 657, 667, 668
-]
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib_2")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[23]:
-
-
-
featurizer = OEDockingFeaturizer(
-    output_dir=user_cache_dir() + "/Fred",
-    method="Fred",
-    use_multiprocessing=False,
-)
-
-
-
-
-
[24]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Warning: Failed to find residue GLY-7.
-Warning: Failed to find residue ALA-6.
-Warning: Failed to find residue MET-5.
-DPI: 0.12, RFree: 0.22, Resolution: 2.02
-Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: A
-Warning: For residue ARG 702   A 1   removing clashing solvent molecule HOH 908   A 2
-Warning: There was a problem building some missing pieces, built as much as was possible
-Processing BU # 2 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: B
-Warning: For residue ARG 702   A 1   removing clashing solvent molecule HOH 908   A 2
-Warning: There was a problem building some missing pieces, built as much as was possible
-
-
-
-
[24]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>,
- <ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib_2>)>]
-
-
-

Docking scores are stored in the returned MDAnalysis universe.

-
-
[25]:
-
-
-
[system.featurizations["last"]._topology.docking_score for system in systems]
-
-
-
-
-
[25]:
-
-
-
-
-[-17.801493, -3.960361]
-
-
-
-
-

Hybrid

-
-
[26]:
-
-
-
systems = []
-
-
-
-
-
[27]:
-
-
-
protein = Protein(pdb_id="4yne", name="NTRK1")
-protein.expo_id = "4EK"
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[28]:
-
-
-
featurizer = OEDockingFeaturizer(
-    output_dir=user_cache_dir() + "/Hybrid",
-    method="Hybrid"
-)
-
-
-
-
-
[29]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
[29]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
-

Posit

-
-
[30]:
-
-
-
systems = []
-
-
-
-
-
[31]:
-
-
-
protein = Protein(pdb_id="4yne", name="NTRK1")
-protein.expo_id = "4EK"
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[32]:
-
-
-
featurizer = OEDockingFeaturizer(
-    output_dir=user_cache_dir() + "/Posit",
-    method="Posit"
-)
-
-
-
-
-
[33]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
[33]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-

Beside the docking score, the Posit probability is also stored in the returned MDAnaylsis universe.

-
-
[34]:
-
-
-
systems[0].featurizations["last"]._topology.posit_probability
-
-
-
-
-
[34]:
-
-
-
-
-0.5
-
-
-
-
-
-

MostSimilarPDBLigandFeaturizer

-

Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the MostSimilarPDBLigandFeaturizer was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:

-
    -
  • Fingerprint

  • -
  • Most common substructure

  • -
  • OpenEye’s shape

  • -
  • Schrodinger’s shape

  • -
-
-
[35]:
-
-
-
print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))
-
-
-
-
-
-
-
-
-Find the most similar co-crystallized ligand in the PDB according to a
-given SMILES and UniProt ID.
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, and must be initialized with a `uniprot_id` parameter.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES.
-
-Parameters
-----------
-similarity_metric: str, default="fingerprint"
-    The similarity metric to use to detect the structure with the most
-    similar ligand ["fingerprint", "mcs", "openeye_shape",
-    "schrodinger_shape"].
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-Note
-----
-The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object
-initialization should fit the required toolkit when subsequently applying
-the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.
-
-
-
-

Most common substructure

-
-
[36]:
-
-
-
systems = []
-
-
-
-
-
[37]:
-
-
-
protein = Protein(uniprot_id="P04629", name="NTRK1")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[38]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(
-    similarity_metric="mcs"
-)
-
-
-
-
-
[39]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
[39]:
-
-
-
-
-('4YNE', 'A', '4EK')
-
-
-
-
-
-
-
-5.51 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-
-
-

Fingerprint

-
-
[40]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(
-    similarity_metric="fingerprint"
-)
-
-
-
-
-
[41]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
[41]:
-
-
-
-
-('4YNE', 'A', '4EK')
-
-
-
-
-
-
-
-5.04 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-
-
-

OpenEye’s shape

-
-
[42]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(
-    similarity_metric="openeye_shape"
-)
-
-
-
-
-
[43]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
[43]:
-
-
-
-
-('4YNE', 'A', '4EK')
-
-
-
-
-
-
-
-4min 25s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-

Using shape is clearly the slowest option, but in many cases the most accurate one.

-
-
-

Pipeline of MostSimilarPDBLigandFeaturizer and OEDockingFeaturizer

-

The MostSimilarPDBLigandFeaturizer can be joined with the OEDockingFeaturizer into a Pipeline featurizer.

-
-
[44]:
-
-
-
systems = []
-
-
-
-
-
[45]:
-
-
-
protein = Protein(uniprot_id="P04629", name="NTRK1")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[46]:
-
-
-
featurizer = Pipeline([
-    MostSimilarPDBLigandFeaturizer(similarity_metric="fingerprint"),
-    OEDockingFeaturizer(output_dir=user_cache_dir() + "/docking_pipeline", method="Posit"),
-])
-
-
-
-
-
[47]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-Warning: Failed to find residue GLY-7.
-Warning: Failed to find residue ALA-6.
-Warning: Failed to find residue MET-5.
-DPI: 0.12, RFree: 0.22, Resolution: 2.02
-Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: A
-Warning: For residue ARG 702   A 1   removing clashing solvent molecule HOH 908   A 2
-Warning: There was a problem building some missing pieces, built as much as was possible
-   Falling back to charging protein with OEMMFF94Charges
-Processing BU # 2 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: B
-Warning: For residue ARG 702   A 1   removing clashing solvent molecule HOH 908   A 2
-Warning: There was a problem building some missing pieces, built as much as was possible
-   Falling back to charging protein with OEMMFF94Charges
-Warning: No BioAssembly transforms found, using input molecule as biounit: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA
-Warning: Iridium - Structure: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA has no REMARK data
-Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA, chains A
-Warning: There was a problem building some missing pieces, built as much as was possible
-
-
-
-
[47]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
[48]:
-
-
-
systems[0].featurizations
-
-
-
-
-
[48]:
-
-
-
-
-{'last': <Universe with 4783 atoms>,
- 'Pipeline([MostSimilarPDBLigandFeaturizer, OEDockingFeaturizer])': <Universe with 4783 atoms>}
-
-
-
-
-
-

KLIFSConformationTemplatesFeaturizer

-

The KLIFSConformationTemplatesFeaturizer searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity.

-
-
[49]:
-
-
-
print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))
-
-
-
-
-
-
-
-
-Find suitable kinase templates for modeling a kinase:inhibitor complex in
-different KLIFS conformations.
-
-The protein component of each system must be a `core.proteins.KLIFSKinase`,
-and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES.
-
-Parameters
-----------
-similarity_metric: str, default="fingerprint"
-    The similarity metric to use to detect the structures with similar
-    ligands ["fingerprint", "mcs", "openeye_shape", "schrodinger_shape"].
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-
-
-
[50]:
-
-
-
systems = []
-
-
-
-
-
[51]:
-
-
-
protein = KLIFSKinase(uniprot_id="P04629", name="NTRK1")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[52]:
-
-
-
featurizer = KLIFSConformationTemplatesFeaturizer(
-    similarity_metric="fingerprint"
-)
-
-
-
-
-
[53]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
[53]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
[54]:
-
-
-
systems[0].featurizations["last"]
-
-
-
-
-
[54]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/OpenEye_structural_featurizer.ipynb b/docs/_build/html/notebooks/OpenEye_structural_featurizer.ipynb deleted file mode 100644 index ffc7270b..00000000 --- a/docs/_build/html/notebooks/OpenEye_structural_featurizer.ipynb +++ /dev/null @@ -1,1596 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": {}, - "source": [ - "# OpenEye Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": {}, - "source": [ - "This notebook introduces structural modeling featurizers using the [OpenEye toolkits](https://docs.eyesopen.com/toolkits/python/index.html) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinSystem, ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.protein import OEProteinStructureFeaturizer\n", - "from kinoml.features.complexes import ( \n", - " OEComplexFeaturizer, \n", - " OEDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "91e7515b-a9a1-47a8-9e06-76c080669e6a", - "metadata": {}, - "source": [ - "## OEProteinStructureFeaturizer\n", - "\n", - "All OpenEye Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "50ec8fcf-495e-4c84-896a-6b65eb5c41a3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein, prepare the protein structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein and water\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein`\n", - "or a subclass thereof, must be initialized with toolkit='OpenEye' and\n", - "give access to a molecular structure, e.g. via a pdb_id. Additionally,\n", - "the protein component can have the following optional attributes to\n", - "customize the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEProteinStructureFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "b622768e-a72c-41c5-ae25-441107b8b848", - "metadata": {}, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c911d115-0f3f-465e-b887-d7a574c76f5c", - "metadata": {}, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "19e36150-0c66-4bcf-aa2f-e31e8331f4f7", - "metadata": {}, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "4863a511-87e7-4301-9b74-d9a428f4ac50", - "metadata": {}, - "outputs": [], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f15a753f-5fab-4705-907f-9e9e1dc5b2b1", - "metadata": {}, - "outputs": [], - "source": [ - "# use a protein structure form file\n", - "with resources.path(\"kinoml.data.proteins\", \"4f8o_edit.pdb\") as structure_path:\n", - " pass\n", - "protein = Protein.from_file(file_path=structure_path, name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "system = ProteinSystem(components=[protein])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "44c9a4c1-36b4-46cd-acd9-84bcc1593512", - "metadata": {}, - "outputs": [], - "source": [ - "with resources.path(\"kinoml.data.proteins\", \"kinoml_tests_4f8o_spruce.loop_db\") as loop_db:\n", - " pass\n", - "featurizer = OEProteinStructureFeaturizer(\n", - " loop_db=loop_db,\n", - " output_dir=user_cache_dir() + \"/protein\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "084058f9-3d8b-4c38-93c5-73fb4e72984c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46546397b38a4b87aa3e9675174939ad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEProteinStructureFeaturizer: 0%| | 0/3 [00:00)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "d4ea4adc-8ebe-4724-9413-2d7cf7867244", - "metadata": {}, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "8cb40c64-3d1c-47b1-8ff8-9b1f12113835", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8300557b-9864-4451-a56d-0d56ff6c3d36", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "f59b6a51-5aef-4798-ae43-f04bd8dc8b7a", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9a291d20-206d-4fc2-a0a3-d1c3e2b9b4b3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_chainA_altlocB_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_edit_protein.pdb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.oeb\n", - "kinoml_OEProteinStructureFeaturizer_PsaA_4f8o_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/protein\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": {}, - "source": [ - "## OEComplexFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "If the ligand of interest is covalently bonded to the protein, the\n", - "covalent bond will be broken. This may lead to the transformation of the\n", - "ligand into a radical.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEComplexFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEComplexFeaturizer(\n", - " output_dir=user_cache_dir() + \"/complex\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5ed545e3ba934fa0b4e7f0c5930d51f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEComplexFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": {}, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and OEB format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_AEBSF_protein.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_ligand.sdf\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.oeb\n", - "kinoml_OEComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_protein.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(user_cache_dir() + \"/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": {}, - "source": [ - "## OEDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "a45a20ff-9a98-4368-8a46-20e05bdcaba3", - "metadata": {}, - "source": [ - "The `OEDockingFeaturizer` supports [3 docking methods](https://docs.eyesopen.com/toolkits/python/dockingtk/index.html), i.e.:\n", - " - **Fred** - standard docking protocol\n", - " - **Hybrid** - biased by co-crystallized ligand\n", - " - **Posit** - bias depends on the similarity to the co-crystallized ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure and dock the ligand into the prepared protein structure with\n", - "one of OpenEye's docking algorithms:\n", - "\n", - " - modeling missing loops with OESpruce according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be\n", - " modeled with OESpruce, if an alteration could not be modeled, the\n", - " corresponding mismatch in the structure will be deleted\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - perform docking\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='OpenEye' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - " - `pocket_resids`: List of integers specifying the residues in the\n", - " binding pocket of interest. This attribute is required if docking with\n", - " Fred into an apo structure.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "method: str, default=\"Posit\"\n", - " The docking method to use [\"Fred\", \"Hybrid\", \"Posit\"].\n", - "loop_db: str\n", - " The path to the loop database used by OESpruce to model missing loops.\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "pKa_norm: bool, default=True\n", - " Assign the predominant ionization state of the molecules to dock at pH\n", - " ~7.4. If False, the ionization state of the input molecules will be\n", - " conserved.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(OEDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": {}, - "source": [ - "### Fred" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via co-crystallized ligand\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "366da943-7ad5-450f-910f-6a395d22e0e5", - "metadata": {}, - "outputs": [], - "source": [ - "# define the binding site for docking via residue IDs\n", - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.pocket_resids = [\n", - " 516, 517, 521, 524, 542, 544, 573, 589, 590, 591, 592, 595, 596, 654, 655, 656, 657, 667, 668\n", - "]\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib_2\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Fred\",\n", - " method=\"Fred\",\n", - " use_multiprocessing=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f1f62040805c4ae98cbf0cc41b2babfb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "OEDockingFeaturizer: 0%| | 0/2 [00:00, )>,\n", - " , )>]" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": {}, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[-17.801493, -3.960361]" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[system.featurizations[\"last\"]._topology.docking_score for system in systems]" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": {}, - "source": [ - "### Hybrid" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Hybrid\",\n", - " method=\"Hybrid\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "67ada0eb-be71-4259-9874-6aee5eb5ba46", - "metadata": { - "tags": [] - }, - "source": [ - "### Posit" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "9387b999-9339-4629-95ad-ccd358989dc5", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "c353801e-beb7-4584-9ab3-bfce88a575bf", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", name=\"NTRK1\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "a36321ea-4171-46d2-ab13-342bd8ad00ad", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = OEDockingFeaturizer(\n", - " output_dir=user_cache_dir() + \"/Posit\",\n", - " method=\"Posit\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9f89a73b-8237-42bd-be31-65d828cf56f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "540e3ec0-6a95-43df-8764-832c0912e648", - "metadata": {}, - "source": [ - "Beside the docking score, the Posit probability is also stored in the returned MDAnaylsis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "41ac2ac5-2e66-45d9-87ac-fa15efe4f0cc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.5" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.posit_probability" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": {}, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"mcs\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.51 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": {}, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.04 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": {}, - "source": [ - "### OpenEye's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(\n", - " similarity_metric=\"openeye_shape\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4min 25s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": {}, - "source": [ - "Using shape is clearly the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": {}, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and OEDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `OEDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": {}, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " OEDockingFeaturizer(output_dir=user_cache_dir() + \"/docking_pipeline\", method=\"Posit\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Failed to find residue GLY-7.\n", - "Warning: Failed to find residue ALA-6.\n", - "Warning: Failed to find residue MET-5.\n", - "DPI: 0.12, RFree: 0.22, Resolution: 2.02\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: A\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Processing BU # 2 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR, chains A, alt: B\n", - "Warning: For residue ARG 702 A 1 removing clashing solvent molecule HOH 908 A 2 \n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n", - " Falling back to charging protein with OEMMFF94Charges\n", - "Warning: No BioAssembly transforms found, using input molecule as biounit: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA\n", - "Warning: Iridium - Structure: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA has no REMARK data\n", - "Processing BU # 1 with title: HIGH AFFINITY NERVE GROWTH FACTOR RECEPTOR(A)altA, chains A\n", - "Warning: There was a problem building some missing pieces, built as much as was possible\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, OEDockingFeaturizer])': }" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "3f98d648-0e40-49ce-b1e2-4d8c7fd0d01a", - "metadata": {}, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "234cc3e5-e686-4700-befe-b6fc3d5a55b5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "77503924-02f5-4f7e-8198-5667982c1336", - "metadata": {}, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "4caecb34-aa08-48a6-a126-35bb42f8e5f5", - "metadata": {}, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "e173d870-d37c-4225-b7c3-7f09188a0493", - "metadata": {}, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "1e9d34de-7dd6-4330-9345-350b0625813b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "6c4624b7-93fc-4d5d-b941-2d3ff70de37f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/notebooks/Schrodinger_structural_featurizer.html b/docs/_build/html/notebooks/Schrodinger_structural_featurizer.html deleted file mode 100644 index dca9d41f..00000000 --- a/docs/_build/html/notebooks/Schrodinger_structural_featurizer.html +++ /dev/null @@ -1,1512 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Schrodinger Structural Featurizer — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- - - - -
-
- -
-

Schrodinger Structural Featurizer

-

This notebook introduces structural modeling featurizers using molecular modeling capabilities from the Schrodinger Suite to prepare protein structures and to dock small molecules into their binding sites.

-

Note: All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the cache_dir parameter, but also has a default (user_cache_dir from appdirs). In case you update your KinoML version you should consider -deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache.

-
-
[1]:
-
-
-
%%capture --no-display
-from importlib import resources
-import inspect
-from pathlib import Path
-
-from appdirs import user_cache_dir
-
-from kinoml.core.ligands import Ligand
-from kinoml.core.proteins import Protein, KLIFSKinase
-from kinoml.core.systems import ProteinLigandComplex
-from kinoml.features.core import Pipeline
-from kinoml.features.complexes import (
-    SCHRODINGERComplexFeaturizer,
-    SCHRODINGERDockingFeaturizer,
-    MostSimilarPDBLigandFeaturizer,
-    KLIFSConformationTemplatesFeaturizer,
-)
-
-
-
-
-

SCHRODINGERComplexFeaturizer

-

All Schrodinger Featurizers come with an extensive doc string explaining the capabilities and requirements.

-
-
[2]:
-
-
-
print(inspect.getdoc(SCHRODINGERComplexFeaturizer))
-
-
-
-
-
-
-
-
-Given systems with exactly one protein and one ligand, prepare the complex
-structure by:
-
- - modeling missing loops with Prime according to the PDB header unless
-   a custom sequence is specified via the `uniprot_id` or `sequence`
-   attribute in the protein component (see below), missing sequences at
-   N- and C-termini are not modeled
- - building missing side chains
- - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`
-   attribute is provided for the protein component alteration will be first
-   deleted and subsequently the intended sequence modeled with Prime, if
-   an alteration could not be modeled, a corresponding deletion will remain
- - removing everything but protein, water and ligand of interest
- - protonation at pH 7.4
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, must be initialized with toolkit='MDAnalysis' and give
-access to the molecular structure, e.g. via a pdb_id. Additionally, the
-protein component can have the following optional attributes to customize
-the protein modeling:
-
- - `name`: A string specifying the name of the protein, will be used for
-   generating the output file name.
- - `chain_id`: A string specifying which chain should be used.
- - `alternate_location`: A string specifying which alternate location
-   should be used.
- - `expo_id`: A string specifying the ligand of interest. This is
-   especially useful if multiple ligands are present in a PDB structure.
- - `uniprot_id`: A string specifying the UniProt ID that will be used to
-   fetch the amino acid sequence from UniProt, which will be used for
-   modeling the protein. This will supersede the sequence information
-   given in the PDB header.
- - `sequence`: A string specifying the amino acid sequence in
-   one-letter-codes that should be used during modeling the protein. This
-   will supersede a given `uniprot_id` and the sequence information given
-   in the PDB header.
-
-The ligand component of each system must be a `core.components.BaseLigand`
-or a subclass thereof. The ligand component can have the following
-optional attributes:
-
- - `name`: A string specifying the name of the ligand, will be used for
-   generating the output file name.
-
-Parameters
-----------
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-output_dir: str, Path or None, default=None
-    Path to directory used for saving output files. If None, output
-    structures will not be saved.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-max_retry: int, default=3
-    The maximal number of attempts to try running the prepwizard step.
-build_loops: bool, default=True
-    If missing loops shell be built. Is also needed to model mutations.
-
-
-

In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated.

-
-
[3]:
-
-
-
# collect systems to featurize, i.e. prepare the protein structure
-systems = []
-
-
-
-
-
[4]:
-
-
-
# unspecifc definition of the system, only via PDB ID
-# modeling will be performed according to the sequence stored in the PDB Header
-protein = Protein(pdb_id="4f8o", name="PsaA", toolkit="MDAnalysis")
-ligand = Ligand(name="AEBSF")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[5]:
-
-
-
# more specific definition of the system, protein of chain A co-crystallized with ligand AES and
-# alternate location B, modeling will be performed according to the sequence of the given
-# UniProt ID
-protein = Protein.from_pdb(pdb_id="4f8o", name="PsaA", toolkit="MDAnalysis")
-protein.uniprot_id = "P31522"
-protein.chain_id = "A"
-protein.alternate_location = "B"
-protein.expo_id = "AES"
-ligand = Ligand(name="AEBSF")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
-
-
-
-Warning: importing 'simtk.openmm' is deprecated.  Import 'openmm' instead.
-
-
-
-
[6]:
-
-
-
featurizer = SCHRODINGERComplexFeaturizer(output_dir="output/complex")
-
-
-
-

The featurizers will return the featurized systems as an MDAnalysis universe. Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:

-
import logging
-logging.basicConfig(level=logging.DEBUG)
-
-
-
-
[7]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
[7]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=PsaA>, <Ligand name=AEBSF>)>,
- <ProteinLigandComplex with 2 components (<Protein name=PsaA>, <Ligand name=AEBSF>)>]
-
-
-
-
[8]:
-
-
-
systems[0].featurizations["last"]
-
-
-
-
-
[8]:
-
-
-
-
-<Universe with 2506 atoms>
-
-
-

If an output_dir was provided, the prepared structure is saved in PDB format.

-
-
[9]:
-
-
-
for path in sorted(Path("output/complex").glob("*")):
-    print(path.name)
-
-
-
-
-
-
-
-
-kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb
-kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb
-
-
-
-
-

SCHRODINGERDockingFeaturizer

-

Docking can be performed with and without shape restrain to the co-crystallized ligand. Moreover, the protein structure for docking must contain a co-crystallized ligand, which is required for the pocket definition.

-
-
[10]:
-
-
-
print(inspect.getdoc(SCHRODINGERDockingFeaturizer))
-
-
-
-
-
-
-
-
-Given systems with exactly one protein and one ligand, prepare the
-structure dock the ligand into its binding site identified by a
-co-crystallized ligand. The following steps will be performed:
-
- - modeling missing loops with Prime according to the PDB header unless
-   a custom sequence is specified via the `uniprot_id` or `sequence`
-   attribute in the protein component (see below), missing sequences at
-   N- and C-termini are not modeled
- - building missing side chains
- - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`
-   attribute is provided for the protein component alteration will be first
-   deleted and subsequently the intended sequence modeled with Prime, if
-   an alteration could not be modeled, a corresponding deletion will remain
- - removing everything but protein, water and ligand of interest
- - protonation at pH 7.4
- - docking a ligand
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, must be initialized with toolkit='MDAnalysis' and give
-access to the molecular structure, e.g. via a pdb_id. Additionally, the
-protein component can have the following optional attributes to customize
-the protein modeling:
-
- - `name`: A string specifying the name of the protein, will be used for
-   generating the output file name.
- - `chain_id`: A string specifying which chain should be used.
- - `alternate_location`: A string specifying which alternate location
-   should be used.
- - `expo_id`: A string specifying a ligand bound to the protein of
-   interest. This is especially useful if multiple proteins are found in
-   one PDB structure.
- - `uniprot_id`: A string specifying the UniProt ID that will be used to
-   fetch the amino acid sequence from UniProt, which will be used for
-   modeling the protein. This will supersede the sequence information
-   given in the PDB header.
- - `sequence`: A string specifying the amino acid sequence in
-   one-letter-codes that should be used during modeling the protein. This
-   will supersede a given `uniprot_id` and the sequence information given
-   in the PDB header.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES. Additionally, the ligand component can have the following optional
-attributes:
-
- - `name`: A string specifying the name of the ligand, will be used for
-   generating the output file name and as molecule title in the docking
-   pose SDF file.
- - `macrocycle`: A bool specifying if the ligand shell be sampled as a
-   macrocycle during docking. Docking will fail, if SCHRDODINGER does not
-   consider the ligand a macrocycle.
-
-Parameters
-----------
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-output_dir: str, Path or None, default=None
-    Path to directory used for saving output files. If None, output
-    structures will not be saved.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-max_retry: int, default=3
-    The maximal number of attempts to try running the prepwizard and
-    docking steps.
-build_loops: bool, default=True
-    If missing loops shell be built. Is also needed to model mutations.
-shape_restrain: bool, default=True
-    If the docking shell be performed with shape restrain based on the
-    co-crystallized ligand.
-
-
-
-

Without shape restrain

-
-
[11]:
-
-
-
systems = []
-
-
-
-
-
[12]:
-
-
-
protein = Protein(pdb_id="4yne", uniprot_id="P04629", name="NTRK1", toolkit="MDAnalysis")
-protein.expo_id = "4EK"
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[13]:
-
-
-
featurizer = SCHRODINGERDockingFeaturizer(
-    output_dir="output/docking_without_shape_restrain",
-    shape_restrain=False
-)
-
-
-
-
-
[14]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-Converted file: /scratch/lsftmp/6525607.tmpdir/tmpq7th966w.mae
-Removing previous job files...
-JobId: lu04-0-6262a247
-ExitStatus: finished
-Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_without_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae
-
-
-
-
[14]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-

Docking scores are stored in the returned MDAnalysis universe.

-
-
[15]:
-
-
-
systems[0].featurizations["last"]._topology.docking_score
-
-
-
-
-
[15]:
-
-
-
-
--10.1766
-
-
-

If an output_dir was provided, the prepared structure is saved in PDB and MAE format, the prepared ligand is additionally saved in SDF format.

-
-
[16]:
-
-
-
for path in sorted(Path("output/docking_without_shape_restrain").glob("*")):
-    print(path.name)
-
-
-
-
-
-
-
-
-kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae
-kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.pdb
-kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_ligand.sdf
-
-
-
-
-

With shape restrain

-
-
[17]:
-
-
-
systems = []
-
-
-
-
-
[18]:
-
-
-
protein = Protein(pdb_id="4yne", uniprot_id="P04629", name="NTRK1", toolkit="MDAnalysis")
-protein.expo_id = "4EK"
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[19]:
-
-
-
featurizer = SCHRODINGERDockingFeaturizer(
-    output_dir="output/docking_with_shape_restrain",
-    shape_restrain=True,
-)
-
-
-
-
-
[20]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-Converted file: /scratch/lsftmp/6525607.tmpdir/tmp195pmphc.mae
-Removing previous job files...
-JobId: lu04-0-6262a33d
-ExitStatus: finished
-Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_with_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae
-
-
-
-
[20]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
-
-

MostSimilarPDBLigandFeaturizer

-

Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the MostSimilarPDBLigandFeaturizer was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:

-
    -
  • Fingerprint

  • -
  • Most common substructure

  • -
  • OpenEye’s shape

  • -
  • Schrodinger’s shape

  • -
-
-
[21]:
-
-
-
print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))
-
-
-
-
-
-
-
-
-Find the most similar co-crystallized ligand in the PDB according to a
-given SMILES and UniProt ID.
-
-The protein component of each system must be a `core.proteins.Protein` or
-a subclass thereof, and must be initialized with a `uniprot_id` parameter.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES.
-
-Parameters
-----------
-similarity_metric: str, default="fingerprint"
-    The similarity metric to use to detect the structure with the most
-    similar ligand ["fingerprint", "mcs", "openeye_shape",
-    "schrodinger_shape"].
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-Note
-----
-The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object
-initialization should fit the required toolkit when subsequently applying
-the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.
-
-
-
-

Most common substructure

-
-
[22]:
-
-
-
systems = []
-
-
-
-
-
[23]:
-
-
-
protein = Protein(uniprot_id="P04629", name="NTRK1", toolkit="MDAnalysis")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[24]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric="mcs")
-
-
-
-
-
[25]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
[25]:
-
-
-
-
-('4YNE', 'A', '4EK')
-
-
-
-
-
-
-
-12.5 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-
-
-

Fingerprint

-
-
[26]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric="fingerprint")
-
-
-
-
-
[27]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
[27]:
-
-
-
-
-('4YNE', 'A', '4EK')
-
-
-
-
-
-
-
-6.91 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-
-
-

Schrodinger’s shape

-
-
[28]:
-
-
-
featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric="schrodinger_shape")
-
-
-
-
-
[29]:
-
-
-
%%timeit -n 1 -r 1
-%%capture --no-display
-systems = featurizer.featurize(systems)
-systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id
-
-
-
-
-
-
-
-
-perl: warning: Setting locale failed.
-perl: warning: Please check that your locale settings:
-        LANGUAGE = (unset),
-        LC_ALL = (unset),
-        LC_NUMERIC = "C",
-        LC_TIME = "C",
-        LANG = "C.UTF-8"
-    are supported and installed on your system.
-perl: warning: Falling back to the standard locale ("C").
-
-
-
-
-
-
-
-JobId: lu04-0-6262a42c
-
-
-
-
[29]:
-
-
-
-
-('4YPS', 'A', '4F6')
-
-
-
-
-
-
-
-36.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
-
-
-

Using shape is the slowest option, but in many cases the most accurate one.

-
-
-

Pipeline of MostSimilarPDBLigandFeaturizer and SCHRODINGERDockingFeaturizer

-

The MostSimilarPDBLigandFeaturizer can be joined with the SCHRODINGERDockingFeaturizer into a Pipeline featurizer.

-
-
[30]:
-
-
-
systems = []
-
-
-
-
-
[31]:
-
-
-
protein = Protein(uniprot_id="P04629", name="NTRK1", toolkit="MDAnalysis")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[32]:
-
-
-
featurizer = Pipeline([
-    MostSimilarPDBLigandFeaturizer(similarity_metric="fingerprint"),
-    SCHRODINGERDockingFeaturizer(output_dir="output/docking_pipeline"),
-])
-
-
-
-
-
[33]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-Converted file: /scratch/lsftmp/6525607.tmpdir/tmp5xoq3zd9.mae
-Removing previous job files...
-JobId: lu04-0-6262a474
-ExitStatus: finished
-Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_pipeline/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4YNE_chainA_larotrectinib_complex.mae
-
-
-
-
[33]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<Protein name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
[34]:
-
-
-
systems[0].featurizations
-
-
-
-
-
[34]:
-
-
-
-
-{'last': <Universe with 4964 atoms>,
- 'Pipeline([MostSimilarPDBLigandFeaturizer, SCHRODINGERDockingFeaturizer])': <Universe with 4964 atoms>}
-
-
-
-
-
-

KLIFSConformationTemplatesFeaturizer

-

The KLIFSConformationTemplatesFeaturizer searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity.

-
-
[35]:
-
-
-
print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))
-
-
-
-
-
-
-
-
-Find suitable kinase templates for modeling a kinase:inhibitor complex in
-different KLIFS conformations.
-
-The protein component of each system must be a `core.proteins.KLIFSKinase`,
-and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.
-
-The ligand component of each system must be a `core.ligands.Ligand` or a
-subclass thereof and give access to the molecular structure, e.g. via a
-SMILES.
-
-Parameters
-----------
-similarity_metric: str, default="fingerprint"
-    The similarity metric to use to detect the structures with similar
-    ligands ["fingerprint", "mcs", "openeye_shape", "schrodinger_shape"].
-cache_dir: str, Path or None, default=None
-    Path to directory used for saving intermediate files. If None, default
-    location provided by `appdirs.user_cache_dir()` will be used.
-use_multiprocessing : bool, default=True
-    If multiprocessing to use.
-n_processes : int or None, default=None
-    How many processes to use in case of multiprocessing. Defaults to
-    number of available CPUs.
-
-
-
-
[36]:
-
-
-
systems = []
-
-
-
-
-
[37]:
-
-
-
protein = KLIFSKinase(uniprot_id="P04629", name="NTRK1")
-ligand = Ligand(smiles="C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F", name="larotrectinib")
-system = ProteinLigandComplex(components=[protein, ligand])
-systems.append(system)
-
-
-
-
-
[38]:
-
-
-
featurizer = KLIFSConformationTemplatesFeaturizer(
-    similarity_metric="fingerprint"
-)
-
-
-
-
-
[39]:
-
-
-
%%capture --no-display
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
[39]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=NTRK1>, <Ligand name=larotrectinib>)>]
-
-
-
-
[40]:
-
-
-
systems[0].featurizations["last"]
-
-
-
-
-
[40]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/Schrodinger_structural_featurizer.ipynb b/docs/_build/html/notebooks/Schrodinger_structural_featurizer.ipynb deleted file mode 100644 index cda17c5f..00000000 --- a/docs/_build/html/notebooks/Schrodinger_structural_featurizer.ipynb +++ /dev/null @@ -1,2088 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "39823951-54dc-4651-bd95-e9116badf2d6", - "metadata": { - "papermill": { - "duration": 0.077343, - "end_time": "2022-04-22T12:38:50.757842", - "exception": false, - "start_time": "2022-04-22T12:38:50.680499", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Schrodinger Structural Featurizer" - ] - }, - { - "cell_type": "markdown", - "id": "37b59918-0cad-4211-aa6a-d43a36f055a2", - "metadata": { - "papermill": { - "duration": 0.075231, - "end_time": "2022-04-22T12:38:50.909289", - "exception": false, - "start_time": "2022-04-22T12:38:50.834058", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "This notebook introduces structural modeling featurizers using molecular modeling capabilities from the [Schrodinger Suite](https://www.schrodinger.com/) to prepare protein structures and to dock small molecules into their binding sites.\n", - "\n", - "**Note:** All structural featurizers fetch data and/or do expensive computations. Hence, fetched data (e.g. PDB structures) and intermediate results (e.g. a prepared protein structure) are stored in a cache directory to speed up calculations when featurizing the same or similar systems multiple times. The cache directory can be specified via the `cache_dir` parameter, but also has a default (`user_cache_dir` from `appdirs`). In case you update your KinoML version you should consider deleting the cache directory. Otherwise, you may get results from the former KinoML version, since the intermediate results will be taken from cache." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ba3e7292-700b-424f-b382-73efb82b3ffd", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:38:51.053426Z", - "iopub.status.busy": "2022-04-22T12:38:51.052720Z", - "iopub.status.idle": "2022-04-22T12:39:10.718673Z", - "shell.execute_reply": "2022-04-22T12:39:10.715608Z" - }, - "papermill": { - "duration": 19.745161, - "end_time": "2022-04-22T12:39:10.725049", - "exception": false, - "start_time": "2022-04-22T12:38:50.979888", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "from importlib import resources\n", - "import inspect\n", - "from pathlib import Path\n", - "\n", - "from appdirs import user_cache_dir\n", - "\n", - "from kinoml.core.ligands import Ligand\n", - "from kinoml.core.proteins import Protein, KLIFSKinase\n", - "from kinoml.core.systems import ProteinLigandComplex\n", - "from kinoml.features.core import Pipeline\n", - "from kinoml.features.complexes import ( \n", - " SCHRODINGERComplexFeaturizer, \n", - " SCHRODINGERDockingFeaturizer,\n", - " MostSimilarPDBLigandFeaturizer,\n", - " KLIFSConformationTemplatesFeaturizer,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b00d8b82-329d-4a6b-9fd2-54a5671533a9", - "metadata": { - "papermill": { - "duration": 0.092947, - "end_time": "2022-04-22T12:39:10.912999", - "exception": false, - "start_time": "2022-04-22T12:39:10.820052", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERComplexFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "684afa3d-3f34-4cbe-ad12-8a089a526940", - "metadata": { - "papermill": { - "duration": 0.095627, - "end_time": "2022-04-22T12:39:11.233127", - "exception": false, - "start_time": "2022-04-22T12:39:11.137500", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "All Schrodinger Featurizers come with an extensive doc string explaining the capabilities and requirements." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "8260c926-b2ad-4700-bb50-4056c2aa63ad", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.412971Z", - "iopub.status.busy": "2022-04-22T12:39:11.412237Z", - "iopub.status.idle": "2022-04-22T12:39:11.421543Z", - "shell.execute_reply": "2022-04-22T12:39:11.420182Z" - }, - "papermill": { - "duration": 0.10818, - "end_time": "2022-04-22T12:39:11.432437", - "exception": false, - "start_time": "2022-04-22T12:39:11.324257", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the complex\n", - "structure by:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying the ligand of interest. This is\n", - " especially useful if multiple ligands are present in a PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.components.BaseLigand`\n", - "or a subclass thereof. The ligand component can have the following\n", - "optional attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard step.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERComplexFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "11cc845a-cc1d-4f68-a5ef-0f634352dd2e", - "metadata": { - "papermill": { - "duration": 0.088236, - "end_time": "2022-04-22T12:39:11.611911", - "exception": false, - "start_time": "2022-04-22T12:39:11.523675", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "In general these featurizers will work with a minimal amount of information, e.g. just a PDB ID. However, it is recommended to be explicit as possible when defining the systems to featurize. For example, if a given PDB entry has multiple chains and ligands, the featurizer will have to guess which chain and ligand is of interest if not explicitly stated." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f39650b8-ca2f-4791-939c-4ac4ae6a6af4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.735035Z", - "iopub.status.busy": "2022-04-22T12:39:11.734639Z", - "iopub.status.idle": "2022-04-22T12:39:11.739487Z", - "shell.execute_reply": "2022-04-22T12:39:11.738591Z" - }, - "papermill": { - "duration": 0.065894, - "end_time": "2022-04-22T12:39:11.744234", - "exception": false, - "start_time": "2022-04-22T12:39:11.678340", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# collect systems to featurize, i.e. prepare the protein structure\n", - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1983dcc6-8234-46f3-8ee4-e165576f71e1", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:11.864349Z", - "iopub.status.busy": "2022-04-22T12:39:11.863991Z", - "iopub.status.idle": "2022-04-22T12:39:11.870014Z", - "shell.execute_reply": "2022-04-22T12:39:11.869269Z" - }, - "papermill": { - "duration": 0.073111, - "end_time": "2022-04-22T12:39:11.874327", - "exception": false, - "start_time": "2022-04-22T12:39:11.801216", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# unspecifc definition of the system, only via PDB ID\n", - "# modeling will be performed according to the sequence stored in the PDB Header\n", - "protein = Protein(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cee7ded4-954c-4d0d-8dd5-11c8db2de4d8", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:12.022456Z", - "iopub.status.busy": "2022-04-22T12:39:12.021840Z", - "iopub.status.idle": "2022-04-22T12:39:18.939760Z", - "shell.execute_reply": "2022-04-22T12:39:18.938837Z" - }, - "papermill": { - "duration": 6.998201, - "end_time": "2022-04-22T12:39:18.941864", - "exception": false, - "start_time": "2022-04-22T12:39:11.943663", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - } - ], - "source": [ - "# more specific definition of the system, protein of chain A co-crystallized with ligand AES and\n", - "# alternate location B, modeling will be performed according to the sequence of the given \n", - "# UniProt ID\n", - "protein = Protein.from_pdb(pdb_id=\"4f8o\", name=\"PsaA\", toolkit=\"MDAnalysis\")\n", - "protein.uniprot_id = \"P31522\"\n", - "protein.chain_id = \"A\"\n", - "protein.alternate_location = \"B\"\n", - "protein.expo_id = \"AES\"\n", - "ligand = Ligand(name=\"AEBSF\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "5458d5a5-6358-4fd4-9d64-2e734569d1d0", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.008197Z", - "iopub.status.busy": "2022-04-22T12:39:19.007918Z", - "iopub.status.idle": "2022-04-22T12:39:19.012884Z", - "shell.execute_reply": "2022-04-22T12:39:19.012330Z" - }, - "papermill": { - "duration": 0.040611, - "end_time": "2022-04-22T12:39:19.015376", - "exception": false, - "start_time": "2022-04-22T12:39:18.974765", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERComplexFeaturizer(output_dir=\"output/complex\")" - ] - }, - { - "cell_type": "markdown", - "id": "678a9610-0009-4b0e-b5b4-cd9fc79a2177", - "metadata": { - "papermill": { - "duration": 0.032172, - "end_time": "2022-04-22T12:39:19.079128", - "exception": false, - "start_time": "2022-04-22T12:39:19.046956", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The featurizers will return the featurized systems as an [MDAnalysis universe](https://www.mdanalysis.org/). Systems that failed will be filtered out. In case one is interested in failures, one can enable logging messages via:\n", - "```\n", - "import logging \n", - "logging.basicConfig(level=logging.DEBUG)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8eb84eac-ca63-4b72-b938-c7efa55ec19c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:19.262711Z", - "iopub.status.busy": "2022-04-22T12:39:19.262206Z", - "iopub.status.idle": "2022-04-22T12:39:57.014777Z", - "shell.execute_reply": "2022-04-22T12:39:57.014012Z" - }, - "papermill": { - "duration": 37.855662, - "end_time": "2022-04-22T12:39:57.026026", - "exception": false, - "start_time": "2022-04-22T12:39:19.170364", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "92d67821-7c0f-4a83-be41-55e5ddd0fa46", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.092001Z", - "iopub.status.busy": "2022-04-22T12:39:57.091568Z", - "iopub.status.idle": "2022-04-22T12:39:57.099682Z", - "shell.execute_reply": "2022-04-22T12:39:57.098675Z" - }, - "papermill": { - "duration": 0.049043, - "end_time": "2022-04-22T12:39:57.106980", - "exception": false, - "start_time": "2022-04-22T12:39:57.057937", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - }, - { - "cell_type": "markdown", - "id": "0e684725-a286-4e5a-bbed-c3cf314b7c41", - "metadata": { - "papermill": { - "duration": 0.078278, - "end_time": "2022-04-22T12:39:57.264779", - "exception": false, - "start_time": "2022-04-22T12:39:57.186501", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB format." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "354f1e57-0e54-49b4-ab07-2e0f53b203c5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.425866Z", - "iopub.status.busy": "2022-04-22T12:39:57.425440Z", - "iopub.status.idle": "2022-04-22T12:39:57.433659Z", - "shell.execute_reply": "2022-04-22T12:39:57.432682Z" - }, - "papermill": { - "duration": 0.096334, - "end_time": "2022-04-22T12:39:57.440877", - "exception": false, - "start_time": "2022-04-22T12:39:57.344543", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_AEBSF_complex.pdb\n", - "kinoml_SCHRODINGERComplexFeaturizer_PsaA_4f8o_chainA_altlocB_AEBSF_complex.pdb\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/complex\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "5e0012c1-1895-47dc-b501-71f4b763477d", - "metadata": { - "papermill": { - "duration": 0.074663, - "end_time": "2022-04-22T12:39:57.591975", - "exception": false, - "start_time": "2022-04-22T12:39:57.517312", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## SCHRODINGERDockingFeaturizer" - ] - }, - { - "cell_type": "markdown", - "id": "163c82b1-1e07-447d-a1c6-bac356cbe031", - "metadata": { - "papermill": { - "duration": 0.079668, - "end_time": "2022-04-22T12:39:57.752808", - "exception": false, - "start_time": "2022-04-22T12:39:57.673140", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking can be performed with and without shape restrain to the co-crystallized ligand. Moreover, the protein structure for docking must contain a co-crystallized ligand, which is required for the pocket definition." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "8528adcf-b340-491d-b5ff-575964bbbfea", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:57.914360Z", - "iopub.status.busy": "2022-04-22T12:39:57.913953Z", - "iopub.status.idle": "2022-04-22T12:39:57.920415Z", - "shell.execute_reply": "2022-04-22T12:39:57.919480Z" - }, - "papermill": { - "duration": 0.094733, - "end_time": "2022-04-22T12:39:57.927781", - "exception": false, - "start_time": "2022-04-22T12:39:57.833048", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Given systems with exactly one protein and one ligand, prepare the\n", - "structure dock the ligand into its binding site identified by a\n", - "co-crystallized ligand. The following steps will be performed:\n", - "\n", - " - modeling missing loops with Prime according to the PDB header unless\n", - " a custom sequence is specified via the `uniprot_id` or `sequence`\n", - " attribute in the protein component (see below), missing sequences at\n", - " N- and C-termini are not modeled\n", - " - building missing side chains\n", - " - substitutions, deletions and insertions, if a `uniprot_id` or `sequence`\n", - " attribute is provided for the protein component alteration will be first\n", - " deleted and subsequently the intended sequence modeled with Prime, if\n", - " an alteration could not be modeled, a corresponding deletion will remain\n", - " - removing everything but protein, water and ligand of interest\n", - " - protonation at pH 7.4\n", - " - docking a ligand\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, must be initialized with toolkit='MDAnalysis' and give\n", - "access to the molecular structure, e.g. via a pdb_id. Additionally, the\n", - "protein component can have the following optional attributes to customize\n", - "the protein modeling:\n", - "\n", - " - `name`: A string specifying the name of the protein, will be used for\n", - " generating the output file name.\n", - " - `chain_id`: A string specifying which chain should be used.\n", - " - `alternate_location`: A string specifying which alternate location\n", - " should be used.\n", - " - `expo_id`: A string specifying a ligand bound to the protein of\n", - " interest. This is especially useful if multiple proteins are found in\n", - " one PDB structure.\n", - " - `uniprot_id`: A string specifying the UniProt ID that will be used to\n", - " fetch the amino acid sequence from UniProt, which will be used for\n", - " modeling the protein. This will supersede the sequence information\n", - " given in the PDB header.\n", - " - `sequence`: A string specifying the amino acid sequence in\n", - " one-letter-codes that should be used during modeling the protein. This\n", - " will supersede a given `uniprot_id` and the sequence information given\n", - " in the PDB header.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES. Additionally, the ligand component can have the following optional\n", - "attributes:\n", - "\n", - " - `name`: A string specifying the name of the ligand, will be used for\n", - " generating the output file name and as molecule title in the docking\n", - " pose SDF file.\n", - " - `macrocycle`: A bool specifying if the ligand shell be sampled as a\n", - " macrocycle during docking. Docking will fail, if SCHRDODINGER does not\n", - " consider the ligand a macrocycle.\n", - "\n", - "Parameters\n", - "----------\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "output_dir: str, Path or None, default=None\n", - " Path to directory used for saving output files. If None, output\n", - " structures will not be saved.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "max_retry: int, default=3\n", - " The maximal number of attempts to try running the prepwizard and\n", - " docking steps.\n", - "build_loops: bool, default=True\n", - " If missing loops shell be built. Is also needed to model mutations.\n", - "shape_restrain: bool, default=True\n", - " If the docking shell be performed with shape restrain based on the\n", - " co-crystallized ligand.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(SCHRODINGERDockingFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "3f10336d-6237-480c-a753-7c68bc6e3e2c", - "metadata": { - "papermill": { - "duration": 0.075391, - "end_time": "2022-04-22T12:39:58.079576", - "exception": false, - "start_time": "2022-04-22T12:39:58.004185", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Without shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "25ec8a4c-a609-4810-adcd-9a4af11bf5ff", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.243624Z", - "iopub.status.busy": "2022-04-22T12:39:58.243213Z", - "iopub.status.idle": "2022-04-22T12:39:58.248464Z", - "shell.execute_reply": "2022-04-22T12:39:58.247415Z" - }, - "papermill": { - "duration": 0.094271, - "end_time": "2022-04-22T12:39:58.254265", - "exception": false, - "start_time": "2022-04-22T12:39:58.159994", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "20c215d2-dee7-4d85-a97b-85fbbadd4f36", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.418615Z", - "iopub.status.busy": "2022-04-22T12:39:58.418126Z", - "iopub.status.idle": "2022-04-22T12:39:58.425444Z", - "shell.execute_reply": "2022-04-22T12:39:58.424380Z" - }, - "papermill": { - "duration": 0.095417, - "end_time": "2022-04-22T12:39:58.431095", - "exception": false, - "start_time": "2022-04-22T12:39:58.335678", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c3294d21-7f6b-4e05-97a1-ecfae31230d7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.591255Z", - "iopub.status.busy": "2022-04-22T12:39:58.590864Z", - "iopub.status.idle": "2022-04-22T12:39:58.597392Z", - "shell.execute_reply": "2022-04-22T12:39:58.596415Z" - }, - "papermill": { - "duration": 0.095846, - "end_time": "2022-04-22T12:39:58.603791", - "exception": false, - "start_time": "2022-04-22T12:39:58.507945", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_without_shape_restrain\",\n", - " shape_restrain=False\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "b3e703d3-b47d-4b37-ba7c-7847f5eecdbc", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:39:58.765771Z", - "iopub.status.busy": "2022-04-22T12:39:58.765410Z", - "iopub.status.idle": "2022-04-22T12:44:07.332372Z", - "shell.execute_reply": "2022-04-22T12:44:07.331024Z" - }, - "papermill": { - "duration": 248.653296, - "end_time": "2022-04-22T12:44:07.339348", - "exception": false, - "start_time": "2022-04-22T12:39:58.686052", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmpq7th966w.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a247\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_without_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "092d09db-9220-4b29-9efc-cab0e0210dbc", - "metadata": { - "papermill": { - "duration": 0.080771, - "end_time": "2022-04-22T12:44:07.506012", - "exception": false, - "start_time": "2022-04-22T12:44:07.425241", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Docking scores are stored in the returned MDAnalysis universe." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "9febec67-160a-4ac7-aaeb-a3defb113101", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:07.673680Z", - "iopub.status.busy": "2022-04-22T12:44:07.673115Z", - "iopub.status.idle": "2022-04-22T12:44:07.682537Z", - "shell.execute_reply": "2022-04-22T12:44:07.681347Z" - }, - "papermill": { - "duration": 0.103157, - "end_time": "2022-04-22T12:44:07.692056", - "exception": false, - "start_time": "2022-04-22T12:44:07.588899", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "-10.1766" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]._topology.docking_score" - ] - }, - { - "cell_type": "markdown", - "id": "c3ff444f-289c-4bdc-b342-9beaefb554eb", - "metadata": { - "papermill": { - "duration": 0.078904, - "end_time": "2022-04-22T12:44:07.856264", - "exception": false, - "start_time": "2022-04-22T12:44:07.777360", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "If an `output_dir` was provided, the prepared structure is saved in PDB and MAE format, the prepared ligand is additionally saved in SDF format." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f2147b48-ded0-4cc8-acc1-78f976117b8e", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.023515Z", - "iopub.status.busy": "2022-04-22T12:44:08.022996Z", - "iopub.status.idle": "2022-04-22T12:44:08.030775Z", - "shell.execute_reply": "2022-04-22T12:44:08.029621Z" - }, - "papermill": { - "duration": 0.098135, - "end_time": "2022-04-22T12:44:08.038803", - "exception": false, - "start_time": "2022-04-22T12:44:07.940668", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.pdb\n", - "kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_ligand.sdf\n" - ] - } - ], - "source": [ - "for path in sorted(Path(\"output/docking_without_shape_restrain\").glob(\"*\")):\n", - " print(path.name)" - ] - }, - { - "cell_type": "markdown", - "id": "fe503149-8950-4319-8d78-3d178fd6f200", - "metadata": { - "papermill": { - "duration": 0.080219, - "end_time": "2022-04-22T12:44:08.202697", - "exception": false, - "start_time": "2022-04-22T12:44:08.122478", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### With shape restrain" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "4e8e8ce9-4b90-43de-9ae7-12bb935bcb20", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.371976Z", - "iopub.status.busy": "2022-04-22T12:44:08.371473Z", - "iopub.status.idle": "2022-04-22T12:44:08.377379Z", - "shell.execute_reply": "2022-04-22T12:44:08.376179Z" - }, - "papermill": { - "duration": 0.096743, - "end_time": "2022-04-22T12:44:08.384175", - "exception": false, - "start_time": "2022-04-22T12:44:08.287432", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "53fd6089-158d-4682-a4f6-2b411d1140f9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.553799Z", - "iopub.status.busy": "2022-04-22T12:44:08.553267Z", - "iopub.status.idle": "2022-04-22T12:44:08.562016Z", - "shell.execute_reply": "2022-04-22T12:44:08.560801Z" - }, - "papermill": { - "duration": 0.099945, - "end_time": "2022-04-22T12:44:08.568313", - "exception": false, - "start_time": "2022-04-22T12:44:08.468368", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(pdb_id=\"4yne\", uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "protein.expo_id = \"4EK\"\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "e81e540e-b6d2-48b7-ae97-ff15dcc8d394", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.737052Z", - "iopub.status.busy": "2022-04-22T12:44:08.736559Z", - "iopub.status.idle": "2022-04-22T12:44:08.743550Z", - "shell.execute_reply": "2022-04-22T12:44:08.742390Z" - }, - "papermill": { - "duration": 0.0975, - "end_time": "2022-04-22T12:44:08.750061", - "exception": false, - "start_time": "2022-04-22T12:44:08.652561", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = SCHRODINGERDockingFeaturizer(\n", - " output_dir=\"output/docking_with_shape_restrain\",\n", - " shape_restrain=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "42b85a04-1d97-41af-af7d-9647645cc5c9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:44:08.919949Z", - "iopub.status.busy": "2022-04-22T12:44:08.919453Z", - "iopub.status.idle": "2022-04-22T12:48:14.312186Z", - "shell.execute_reply": "2022-04-22T12:48:14.310828Z" - }, - "papermill": { - "duration": 245.482475, - "end_time": "2022-04-22T12:48:14.316530", - "exception": false, - "start_time": "2022-04-22T12:44:08.834055", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp195pmphc.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a33d\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_with_shape_restrain/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4yne_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "markdown", - "id": "f12885ea-b91f-473e-882a-08ddcb99d60f", - "metadata": { - "papermill": { - "duration": 0.092619, - "end_time": "2022-04-22T12:48:14.513581", - "exception": false, - "start_time": "2022-04-22T12:48:14.420962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## MostSimilarPDBLigandFeaturizer\n", - "\n", - "Manually specifying the most suitable PDB structure to dock into is not practical for a larger set of ligands. Hence, the `MostSimilarPDBLigandFeaturizer` was implemented, wich can find the most suitable structure for docking in the PDB based on ligand similarity. The user can choose from one the following similarity metrics:\n", - "\n", - "- Fingerprint\n", - "- Most common substructure\n", - "- OpenEye's shape\n", - "- Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "9d84eacd-3b8e-49d4-b1f3-c106735a6460", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:14.700495Z", - "iopub.status.busy": "2022-04-22T12:48:14.700013Z", - "iopub.status.idle": "2022-04-22T12:48:14.707771Z", - "shell.execute_reply": "2022-04-22T12:48:14.706234Z" - }, - "papermill": { - "duration": 0.11713, - "end_time": "2022-04-22T12:48:14.722962", - "exception": false, - "start_time": "2022-04-22T12:48:14.605832", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find the most similar co-crystallized ligand in the PDB according to a\n", - "given SMILES and UniProt ID.\n", - "\n", - "The protein component of each system must be a `core.proteins.Protein` or\n", - "a subclass thereof, and must be initialized with a `uniprot_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structure with the most\n", - " similar ligand [\"fingerprint\", \"mcs\", \"openeye_shape\",\n", - " \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n", - "\n", - "Note\n", - "----\n", - "The toolkit ['MDAnalysis' or 'OpenEye'] specified in the protein object\n", - "initialization should fit the required toolkit when subsequently applying\n", - "the OEDockingFeaturizer or SCHRODINGERDockingFeaturizer.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(MostSimilarPDBLigandFeaturizer))" - ] - }, - { - "cell_type": "markdown", - "id": "163bef90-207c-4023-b494-6847af3f4958", - "metadata": { - "papermill": { - "duration": 0.091465, - "end_time": "2022-04-22T12:48:14.910458", - "exception": false, - "start_time": "2022-04-22T12:48:14.818993", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Most common substructure" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "372d7ea1-324a-4f44-8b8d-3cc3021d2c81", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.097746Z", - "iopub.status.busy": "2022-04-22T12:48:15.096823Z", - "iopub.status.idle": "2022-04-22T12:48:15.107376Z", - "shell.execute_reply": "2022-04-22T12:48:15.105388Z" - }, - "papermill": { - "duration": 0.112501, - "end_time": "2022-04-22T12:48:15.115150", - "exception": false, - "start_time": "2022-04-22T12:48:15.002649", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "83002b9e-0eb8-4f39-8d55-2cbb3b55d7a4", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.306139Z", - "iopub.status.busy": "2022-04-22T12:48:15.305554Z", - "iopub.status.idle": "2022-04-22T12:48:15.314882Z", - "shell.execute_reply": "2022-04-22T12:48:15.313611Z" - }, - "papermill": { - "duration": 0.112318, - "end_time": "2022-04-22T12:48:15.322503", - "exception": false, - "start_time": "2022-04-22T12:48:15.210185", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "cac30a83-1546-4abd-9186-d951a2d52a8c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.509034Z", - "iopub.status.busy": "2022-04-22T12:48:15.508490Z", - "iopub.status.idle": "2022-04-22T12:48:15.515625Z", - "shell.execute_reply": "2022-04-22T12:48:15.514369Z" - }, - "papermill": { - "duration": 0.114755, - "end_time": "2022-04-22T12:48:15.527140", - "exception": false, - "start_time": "2022-04-22T12:48:15.412385", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"mcs\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "edcd8461-6b23-4e39-9800-e7755c640a45", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:15.706569Z", - "iopub.status.busy": "2022-04-22T12:48:15.706036Z", - "iopub.status.idle": "2022-04-22T12:48:28.255865Z", - "shell.execute_reply": "2022-04-22T12:48:28.254307Z" - }, - "papermill": { - "duration": 12.650388, - "end_time": "2022-04-22T12:48:28.260543", - "exception": false, - "start_time": "2022-04-22T12:48:15.610155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "12.5 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "be0b03ee-6123-4077-b3fd-586bce4bf748", - "metadata": { - "papermill": { - "duration": 0.09428, - "end_time": "2022-04-22T12:48:28.450651", - "exception": false, - "start_time": "2022-04-22T12:48:28.356371", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Fingerprint" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0c7dcbf1-7607-4b5f-8ed4-44f0a00b41e7", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.637022Z", - "iopub.status.busy": "2022-04-22T12:48:28.636470Z", - "iopub.status.idle": "2022-04-22T12:48:28.644342Z", - "shell.execute_reply": "2022-04-22T12:48:28.643210Z" - }, - "papermill": { - "duration": 0.111127, - "end_time": "2022-04-22T12:48:28.651027", - "exception": false, - "start_time": "2022-04-22T12:48:28.539900", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "61322085-91dd-47b6-9517-33383a7d5a5c", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:28.845504Z", - "iopub.status.busy": "2022-04-22T12:48:28.845038Z", - "iopub.status.idle": "2022-04-22T12:48:35.771910Z", - "shell.execute_reply": "2022-04-22T12:48:35.770052Z" - }, - "papermill": { - "duration": 7.030486, - "end_time": "2022-04-22T12:48:35.777474", - "exception": false, - "start_time": "2022-04-22T12:48:28.746988", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('4YNE', 'A', '4EK')" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "6.91 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "af8fc96b-3dae-4fcf-bf50-693df0fa9be8", - "metadata": { - "papermill": { - "duration": 0.109259, - "end_time": "2022-04-22T12:48:35.999854", - "exception": false, - "start_time": "2022-04-22T12:48:35.890595", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Schrodinger's shape" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "f052e537-e0ab-4ba2-9549-40b809ea112f", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.214398Z", - "iopub.status.busy": "2022-04-22T12:48:36.214006Z", - "iopub.status.idle": "2022-04-22T12:48:36.220133Z", - "shell.execute_reply": "2022-04-22T12:48:36.218938Z" - }, - "papermill": { - "duration": 0.117177, - "end_time": "2022-04-22T12:48:36.225641", - "exception": false, - "start_time": "2022-04-22T12:48:36.108464", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = MostSimilarPDBLigandFeaturizer(similarity_metric=\"schrodinger_shape\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "350ebff7-9fe2-4f12-9ec1-5cb65b8848d5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:48:36.413598Z", - "iopub.status.busy": "2022-04-22T12:48:36.413122Z", - "iopub.status.idle": "2022-04-22T12:49:13.177974Z", - "shell.execute_reply": "2022-04-22T12:49:13.176657Z" - }, - "papermill": { - "duration": 36.934558, - "end_time": "2022-04-22T12:49:13.237887", - "exception": false, - "start_time": "2022-04-22T12:48:36.303329", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "perl: warning: Setting locale failed.\n", - "perl: warning: Please check that your locale settings:\n", - "\tLANGUAGE = (unset),\n", - "\tLC_ALL = (unset),\n", - "\tLC_NUMERIC = \"C\",\n", - "\tLC_TIME = \"C\",\n", - "\tLANG = \"C.UTF-8\"\n", - " are supported and installed on your system.\n", - "perl: warning: Falling back to the standard locale (\"C\").\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a42c\n" - ] - }, - { - "data": { - "text/plain": [ - "('4YPS', 'A', '4F6')" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "36.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%%timeit -n 1 -r 1\n", - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems[0].protein.pdb_id, systems[0].protein.chain_id, systems[0].protein.expo_id" - ] - }, - { - "cell_type": "markdown", - "id": "8a071c6c-0ac7-4ddd-8222-2dc286422504", - "metadata": { - "papermill": { - "duration": 0.070175, - "end_time": "2022-04-22T12:49:13.378873", - "exception": false, - "start_time": "2022-04-22T12:49:13.308698", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Using shape is the slowest option, but in many cases the most accurate one." - ] - }, - { - "cell_type": "markdown", - "id": "6d6e7776-604e-4072-bffd-89aaef4bd034", - "metadata": { - "papermill": { - "duration": 0.075498, - "end_time": "2022-04-22T12:49:13.525566", - "exception": false, - "start_time": "2022-04-22T12:49:13.450068", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Pipeline of MostSimilarPDBLigandFeaturizer and SCHRODINGERDockingFeaturizer\n", - "\n", - "The `MostSimilarPDBLigandFeaturizer` can be joined with the `SCHRODINGERDockingFeaturizer` into a `Pipeline` featurizer." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "836af6ba-0207-43ed-890d-e2f863dce352", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.676030Z", - "iopub.status.busy": "2022-04-22T12:49:13.675636Z", - "iopub.status.idle": "2022-04-22T12:49:13.680713Z", - "shell.execute_reply": "2022-04-22T12:49:13.679784Z" - }, - "papermill": { - "duration": 0.085693, - "end_time": "2022-04-22T12:49:13.686294", - "exception": false, - "start_time": "2022-04-22T12:49:13.600601", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "ffc06935-e0ae-4a73-bf7d-4ff0669eebe9", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.836671Z", - "iopub.status.busy": "2022-04-22T12:49:13.836303Z", - "iopub.status.idle": "2022-04-22T12:49:13.843030Z", - "shell.execute_reply": "2022-04-22T12:49:13.842117Z" - }, - "papermill": { - "duration": 0.086812, - "end_time": "2022-04-22T12:49:13.848122", - "exception": false, - "start_time": "2022-04-22T12:49:13.761310", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "aad92cea-d047-40e3-b194-92c3130a3223", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:13.994697Z", - "iopub.status.busy": "2022-04-22T12:49:13.994319Z", - "iopub.status.idle": "2022-04-22T12:49:14.000894Z", - "shell.execute_reply": "2022-04-22T12:49:13.999895Z" - }, - "papermill": { - "duration": 0.084522, - "end_time": "2022-04-22T12:49:14.005754", - "exception": false, - "start_time": "2022-04-22T12:49:13.921232", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = Pipeline([\n", - " MostSimilarPDBLigandFeaturizer(similarity_metric=\"fingerprint\"),\n", - " SCHRODINGERDockingFeaturizer(output_dir=\"output/docking_pipeline\"),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "6b2776cb-774d-4255-b299-7c56ccec611a", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:49:14.180826Z", - "iopub.status.busy": "2022-04-22T12:49:14.180303Z", - "iopub.status.idle": "2022-04-22T12:53:25.625018Z", - "shell.execute_reply": "2022-04-22T12:53:25.623299Z" - }, - "papermill": { - "duration": 251.550071, - "end_time": "2022-04-22T12:53:25.628872", - "exception": false, - "start_time": "2022-04-22T12:49:14.078801", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /scratch/lsftmp/6525607.tmpdir/tmp5xoq3zd9.mae\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Removing previous job files...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "JobId: lu04-0-6262a474\n", - "ExitStatus: finished\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Converted file: /lila/data/chodera/shallerd/projects/schrodinger/kinoml/examples/output/docking_pipeline/kinoml_SCHRODINGERDockingFeaturizer_NTRK1_4YNE_chainA_larotrectinib_complex.mae\n" - ] - }, - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "36b3c973-9931-4442-945b-e339dab3f1c6", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:25.858694Z", - "iopub.status.busy": "2022-04-22T12:53:25.858145Z", - "iopub.status.idle": "2022-04-22T12:53:25.869178Z", - "shell.execute_reply": "2022-04-22T12:53:25.867157Z" - }, - "papermill": { - "duration": 0.141015, - "end_time": "2022-04-22T12:53:25.881014", - "exception": false, - "start_time": "2022-04-22T12:53:25.739999", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': ,\n", - " 'Pipeline([MostSimilarPDBLigandFeaturizer, SCHRODINGERDockingFeaturizer])': }" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "77db9232-360d-40ee-8b2f-640eaf6bdc1a", - "metadata": { - "papermill": { - "duration": 0.118895, - "end_time": "2022-04-22T12:53:26.116629", - "exception": false, - "start_time": "2022-04-22T12:53:25.997734", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## KLIFSConformationTemplatesFeaturizer\n", - "\n", - "The `KLIFSConformationTemplatesFeaturizer` searches for suitable templates to model a kinase:ligand complex in different conformations. The templates are selected based on ligand and sequence similarity." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "f680e950-d0e2-43ce-9bad-2da70a94bde5", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.316324Z", - "iopub.status.busy": "2022-04-22T12:53:26.315796Z", - "iopub.status.idle": "2022-04-22T12:53:26.323998Z", - "shell.execute_reply": "2022-04-22T12:53:26.322084Z" - }, - "papermill": { - "duration": 0.142074, - "end_time": "2022-04-22T12:53:26.335796", - "exception": false, - "start_time": "2022-04-22T12:53:26.193722", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Find suitable kinase templates for modeling a kinase:inhibitor complex in\n", - "different KLIFS conformations.\n", - "\n", - "The protein component of each system must be a `core.proteins.KLIFSKinase`,\n", - "and must be initialized with a `uniprot_id` or `kinase_klifs_id` parameter.\n", - "\n", - "The ligand component of each system must be a `core.ligands.Ligand` or a\n", - "subclass thereof and give access to the molecular structure, e.g. via a\n", - "SMILES.\n", - "\n", - "Parameters\n", - "----------\n", - "similarity_metric: str, default=\"fingerprint\"\n", - " The similarity metric to use to detect the structures with similar\n", - " ligands [\"fingerprint\", \"mcs\", \"openeye_shape\", \"schrodinger_shape\"].\n", - "cache_dir: str, Path or None, default=None\n", - " Path to directory used for saving intermediate files. If None, default\n", - " location provided by `appdirs.user_cache_dir()` will be used.\n", - "use_multiprocessing : bool, default=True\n", - " If multiprocessing to use.\n", - "n_processes : int or None, default=None\n", - " How many processes to use in case of multiprocessing. Defaults to\n", - " number of available CPUs.\n" - ] - } - ], - "source": [ - "print(inspect.getdoc(KLIFSConformationTemplatesFeaturizer))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "e14082da-b8f1-477a-8bcd-810936e07e72", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.498935Z", - "iopub.status.busy": "2022-04-22T12:53:26.498655Z", - "iopub.status.idle": "2022-04-22T12:53:26.502381Z", - "shell.execute_reply": "2022-04-22T12:53:26.501621Z" - }, - "papermill": { - "duration": 0.051614, - "end_time": "2022-04-22T12:53:26.506129", - "exception": false, - "start_time": "2022-04-22T12:53:26.454515", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "systems = []" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "f558ef87-b33e-4bd1-a474-b13e90e69195", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.641764Z", - "iopub.status.busy": "2022-04-22T12:53:26.641485Z", - "iopub.status.idle": "2022-04-22T12:53:26.646318Z", - "shell.execute_reply": "2022-04-22T12:53:26.645636Z" - }, - "papermill": { - "duration": 0.101318, - "end_time": "2022-04-22T12:53:26.649838", - "exception": false, - "start_time": "2022-04-22T12:53:26.548520", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "protein = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "ligand = Ligand(smiles=\"C1CC(N(C1)C2=NC3=C(C=NN3C=C2)NC(=O)N4CCC(C4)O)C5=C(C=CC(=C5)F)F\", name=\"larotrectinib\")\n", - "system = ProteinLigandComplex(components=[protein, ligand])\n", - "systems.append(system)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "b7fcc40c-b3f3-4451-9f8d-501f27328f32", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.809639Z", - "iopub.status.busy": "2022-04-22T12:53:26.809016Z", - "iopub.status.idle": "2022-04-22T12:53:26.817480Z", - "shell.execute_reply": "2022-04-22T12:53:26.816124Z" - }, - "papermill": { - "duration": 0.133854, - "end_time": "2022-04-22T12:53:26.827113", - "exception": false, - "start_time": "2022-04-22T12:53:26.693259", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "featurizer = KLIFSConformationTemplatesFeaturizer(\n", - " similarity_metric=\"fingerprint\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "7a7489c6-d564-4285-b5d6-b8cb510d68f3", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:53:26.923066Z", - "iopub.status.busy": "2022-04-22T12:53:26.922585Z", - "iopub.status.idle": "2022-04-22T12:57:20.443875Z", - "shell.execute_reply": "2022-04-22T12:57:20.443023Z" - }, - "papermill": { - "duration": 233.591896, - "end_time": "2022-04-22T12:57:20.470472", - "exception": false, - "start_time": "2022-04-22T12:53:26.878576", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>]" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "ed84f951-689a-4d8d-b2b9-c5eda645f624", - "metadata": { - "execution": { - "iopub.execute_input": "2022-04-22T12:57:20.676917Z", - "iopub.status.busy": "2022-04-22T12:57:20.676448Z", - "iopub.status.idle": "2022-04-22T12:57:20.726850Z", - "shell.execute_reply": "2022-04-22T12:57:20.725753Z" - }, - "papermill": { - "duration": 0.158403, - "end_time": "2022-04-22T12:57:20.730863", - "exception": false, - "start_time": "2022-04-22T12:57:20.572460", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
dfgac_helixpdb_idchain_idexpo_idligand_similaritypocket_similarity
0inin4yneA4EK0.568047443.0
1inout6tfpAN6Z0.534031215.0
2outin4pmpA31W0.482759443.0
3out-likein6brjAVX60.521739279.0
4out-likeout3aqvATAK0.435754171.0
5outout5jfvA6K10.491620422.0
\n", - "
" - ], - "text/plain": [ - " dfg ac_helix pdb_id chain_id expo_id ligand_similarity \\\n", - "0 in in 4yne A 4EK 0.568047 \n", - "1 in out 6tfp A N6Z 0.534031 \n", - "2 out in 4pmp A 31W 0.482759 \n", - "3 out-like in 6brj A VX6 0.521739 \n", - "4 out-like out 3aqv A TAK 0.435754 \n", - "5 out out 5jfv A 6K1 0.491620 \n", - "\n", - " pocket_similarity \n", - "0 443.0 \n", - "1 215.0 \n", - "2 443.0 \n", - "3 279.0 \n", - "4 171.0 \n", - "5 422.0 " - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "systems[0].featurizations[\"last\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - }, - "papermill": { - "default_parameters": {}, - "duration": 1121.080541, - "end_time": "2022-04-22T12:57:22.293896", - "environment_variables": {}, - "exception": null, - "input_path": "Schrodinger_structural_featurizer.ipynb", - "output_path": "Schrodinger_structural_featurizer_out.ipynb", - "parameters": {}, - "start_time": "2022-04-22T12:38:41.213355", - "version": "2.2.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/notebooks/getting_started.html b/docs/_build/html/notebooks/getting_started.html deleted file mode 100644 index 2e49144d..00000000 --- a/docs/_build/html/notebooks/getting_started.html +++ /dev/null @@ -1,894 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Getting started with KinoML — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

Getting started with KinoML

-
-

Introduction

-

KinoML is a modular and extensible framework for kinase modelling and machine learning. KinoML can be used to obtain data from online and in-house data sources and to featurize data so that it is ML-readable. KinoML also allows users to easily run ML experiments with KinoML’s implemented models.

-

In this notebook you will learn how to install KinoML and how to: 1. Obtain your dataset from ChEMBL 2. Featurize this data 3. Train and test a simple Support Vector Classifier (SVC) ML model with your featurized data

-

And KinoML allows you to do this with just a few lines of code!

-

For more extensive examples and tutorials have a look at the other notebooks in the KinoML documentation or at the experiments-binding-affnity repository.

-

The KinoML documentation also allows browsing the API.

-
-
KinoML object model
-
Fig. 1: KinoML workflow overview. Colors represent objects that belong to the same class.
-
-
-
-

Installation

-

KinoML can be easily installed using conda/mamba. We highly encourage using mamba instead of conda to speed up the installation.

-
mamba create -n kinoml --no-default-packages
-mamba env update -n kinoml -f https://raw.githubusercontent.com/openkinome/kinoml/master/devtools/conda-envs/test_env.yaml
-conda activate kinoml
-pip install https://github.com/openkinome/kinoml/archive/master.tar.gz
-
-
-
-
-

Basic example

-

KinoML has a strong focus on kinases, but can be applied to other proteins, if the appropriate code is written. However, the work on kinases is the easiest, since we provide cleaned kinase datasets for ChEMBL and PKIS2, which are hosted at the kinodata repository.

-
-
-

1. Obtaining your data

-
-

DatasetProvider

-

KinoML’s DatasetProvider allows users to easily access and filter datasets. The user can specify the url of the csv file they are interested in or can use the default (as done in the example below). There are different types of DatasetProvider incorporated into KinoML. The one used in this notebook is ChEMBLDatasetProvider, which allows users to use ChEMBL datasets and filter them by specifying the measurement type (“pIC50”, “pKi”, “pKd”) and kinase uniprotID.

-

DatasetProvider outputs a lists of measurement values, and each of them will be associated to their corresponding system, which is formed by a protein and a ligand. Also, the measurement objects also have Metadata and AssayConditions associated to it, which contains information on how this measurement was obtained.

-
-
[1]:
-
-
-
%%capture --no-display
-# to hide warnings
-from kinoml.datasets.chembl import ChEMBLDatasetProvider
-
-
-
-
-
[2]:
-
-
-
chembl_provider = ChEMBLDatasetProvider.from_source(
-    measurement_types=["pIC50"], #selecting measurement type
-    uniprot_ids=["P00533"], #kinase of interest
-    sample=1000, #number of samples you want to work with
-)
-chembl_provider
-
-
-
-
-
-
-
-
-
-
-
[2]:
-
-
-
-
-<ChEMBLDatasetProvider with 1000 measurements (pIC50Measurement=1000), and 986 systems (KLIFSKinase=1, Ligand=986)>
-
-
-

Just looking at the output, we can see that there are 1000 measurements, but only 986 systems. This means there are duplicates in the measurements. Ideally we would delete these duplicated entries, but since this notebook just wants to show a quick example, we will leave this for the other notebooks. Let’s continue and have a look at the first measurement and the stored information.

-
-
[3]:
-
-
-
chembl_provider.measurements[0]
-
-
-
-
-
[3]:
-
-
-
-
-<pIC50Measurement values=[5.13076828] conditions=<AssayConditions pH=7> system=<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>>
-
-
-
-
[4]:
-
-
-
chembl_provider.measurements[0].values
-
-
-
-
-
[4]:
-
-
-
-
-array([5.13076828])
-
-
-
-
[5]:
-
-
-
chembl_provider.measurements[0].system
-
-
-
-
-
[5]:
-
-
-
-
-<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>
-
-
-
-
[6]:
-
-
-
chembl_provider.measurements[0].system.ligand
-
-
-
-
-
[6]:
-
-
-
-
-<Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>
-
-
-
-
[7]:
-
-
-
chembl_provider.measurements[0].system.protein
-
-
-
-
-
[7]:
-
-
-
-
-<KLIFSKinase name=P00533>
-
-
-

As explained above, each measurement comes with a values array representing the activity values for this measurement, which can be considered the typical y we want to predict in an ML experiment. The system object contains relevant information about protein and ligand for this measurement. The system information is typically X in an ML experiment, but is not yet in a machine-friendly format.

-
-
-
-

2. Featurize your data

-
-

Featurizer

-

To get the X (system information) in a machine-friendly format, KinoML uses so called featurizers, which encode the information of each system. KinoML has different featurizers implemented. In this notebook we will use the MorganFingerprintFeaturizer. We are going to iterate this featurizer over all systems and transform the ligand into a bit vector. All performed featurizations are commonly stored in the featurizations attribute of each system. The last performed -featurization is stored additionally for easy access.

-
-
[8]:
-
-
-
from kinoml.features.ligand import MorganFingerprintFeaturizer
-
-
-
-
-
[9]:
-
-
-
%%capture --no-display
-# to hide warnings
-chembl_provider.featurize(MorganFingerprintFeaturizer())
-chembl_provider.measurements[0].system.featurizations
-
-
-
-
-
[9]:
-
-
-
-
-{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1]),
- 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1])}
-
-
-

For more details on the KinoML object model have a look at the respective notebook.

-
-
-
-

3. ML model training and testing

-
-

ML training and testing

-

Great, we have used KinoML to first obtain the data we wanted to work with, and then to featurize this data and make it ML readable. Now that we have X and y, we can run a small ML experiment. In this case, we will train a support vector classifier from sklearn.

-
-
[10]:
-
-
-
import matplotlib.pyplot as plt
-from sklearn.svm import SVC
-from sklearn.metrics import roc_curve, roc_auc_score
-from sklearn.model_selection import train_test_split
-
-
-
-
-
[11]:
-
-
-
# get data from provider
-X, y = chembl_provider.to_numpy()[0]
-print(X[0])
-print(y[0])
-
-
-
-
-
-
-
-
-[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
- 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
- 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1
- 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0
- 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
- 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
- 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
- 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0
- 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
-5.1307683
-
-
-
-
[12]:
-
-
-
# binarize activity values
-y = (y > 7).astype(int)
-print(y[0])
-
-
-
-
-
-
-
-
-0
-
-
-
-
[13]:
-
-
-
# split data into train and test sets
-x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
-
-
-
-
-
[14]:
-
-
-
# train the support vector classifier
-svc = SVC(probability=True)
-svc.fit(x_train, y_train)
-
-
-
-
-
[14]:
-
-
-
-
-SVC(probability=True)
-
-
-
-
[15]:
-
-
-
# get the ROC curve including AUC
-y_test_pred = svc.predict(x_test)
-svc_roc_auc = roc_auc_score(y_test, y_test_pred)
-fpr, tpr, thresholds = roc_curve(y_test, svc.predict_proba(x_test)[:,1])
-plt.plot(fpr, tpr, label=f'SVC - AUC={round(svc_roc_auc,2)}')
-plt.xlim([-0.05, 1.05])
-plt.ylim([-0.05, 1.05])
-plt.plot([0, 1], [0, 1], linestyle='--', label='Random', lw=2, color="black")  # Random curve
-plt.xlabel('False positive rate', size=12)
-plt.ylabel('True positive rate', size=12)
-plt.tick_params(labelsize=12)
-plt.legend(fontsize=12)
-plt.show()
-
-
-
-
-
-
-
-../_images/notebooks_getting_started_25_0.png -
-
-

For more advanced examples have a look at the experiments-binding-affinity repository.

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/getting_started.ipynb b/docs/_build/html/notebooks/getting_started.ipynb deleted file mode 100644 index e27280aa..00000000 --- a/docs/_build/html/notebooks/getting_started.ipynb +++ /dev/null @@ -1,536 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e5390669-0749-4d13-ad3c-b85d83de133d", - "metadata": {}, - "source": [ - "# Getting started with KinoML" - ] - }, - { - "cell_type": "markdown", - "id": "993294ab-4c7f-4cdd-8987-b6dfdd07ff21", - "metadata": {}, - "source": [ - "## Introduction\n", - "\n", - "KinoML is a modular and extensible framework for kinase modelling and machine learning. KinoML can be used to obtain data from online and in-house data sources and to featurize data so that it is ML-readable. KinoML also allows users to easily run ML experiments with KinoML's implemented models. \n", - "\n", - "\n", - "In this notebook you will learn how to install KinoML and how to:\n", - "1. Obtain your dataset from ChEMBL\n", - "2. Featurize this data\n", - "3. Train and test a simple Support Vector Classifier (SVC) ML model with your featurized data \n", - "\n", - "And KinoML allows you to do this with just a few lines of code!\n", - "\n", - "For more extensive examples and tutorials have a look at the other notebooks in the [KinoML documentation](https://openkinome.org/kinoml/index.html) or at the [experiments-binding-affnity](https://github.com/openkinome/experiments-binding-affinity) repository.\n", - "\n", - "The [KinoML documentation](https://openkinome.org/kinoml/api/kinoml/index.html) also allows browsing the API." - ] - }, - { - "cell_type": "markdown", - "id": "d0af316a", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/fig_1_kinomltechpaper_v2.png) \n", - "**Fig. 1:** KinoML workflow overview. Colors represent objects that belong to the same class." - ] - }, - { - "cell_type": "markdown", - "id": "9e34e009-8830-4f87-ace3-6a0e310a49ba", - "metadata": {}, - "source": [ - "## Installation\n", - "\n", - "KinoML can be easily installed using conda/mamba. We highly encourage using mamba instead of conda to speed up the installation.\n", - "\n", - "```\n", - "mamba create -n kinoml --no-default-packages\n", - "mamba env update -n kinoml -f https://raw.githubusercontent.com/openkinome/kinoml/master/devtools/conda-envs/test_env.yaml\n", - "conda activate kinoml\n", - "pip install https://github.com/openkinome/kinoml/archive/master.tar.gz\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "f7bef85f-88d1-45a8-9665-89c1441e2c9a", - "metadata": {}, - "source": [ - "## Basic example\n", - "\n", - "KinoML has a strong focus on kinases, but can be applied to other proteins, if the appropriate code is written. However, the work on kinases is the easiest, since we provide cleaned kinase datasets for ChEMBL and PKIS2, which are hosted at the [kinodata](https://github.com/openkinome/kinodata) repository." - ] - }, - { - "cell_type": "markdown", - "id": "4e1efa1d-e330-4a54-9285-b61affce4f70", - "metadata": {}, - "source": [ - "## 1. Obtaining your data\n", - "\n", - "### DatasetProvider\n", - "\n", - "KinoML's `DatasetProvider` allows users to easily access and filter datasets. The user can specify the url of the csv file they are interested in or can use the default (as done in the example below). There are different types of `DatasetProvider` incorporated into KinoML. The one used in this notebook is `ChEMBLDatasetProvider`, which allows users to use ChEMBL datasets and filter them by specifying the measurement type (\"pIC50\", \"pKi\", \"pKd\") and kinase uniprotID.\n", - "\n", - "`DatasetProvider` outputs a lists of `measurement` values, and each of them will be associated to their corresponding `system`, which is formed by a protein and a ligand. Also, the `measurement` objects also have `Metadata` and `AssayConditions` associated to it, which contains information on how this measurement was obtained. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9234fe09-2ccc-4640-b4eb-c7a7dfa83902", - "metadata": {}, - "outputs": [], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "from kinoml.datasets.chembl import ChEMBLDatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "2bcc50be-a86b-4531-b282-33808d0f8597", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e9b7bbc773b8461caa2e48726300de15", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider = ChEMBLDatasetProvider.from_source(\n", - " measurement_types=[\"pIC50\"], #selecting measurement type\n", - " uniprot_ids=[\"P00533\"], #kinase of interest\n", - " sample=1000, #number of samples you want to work with\n", - ")\n", - "chembl_provider" - ] - }, - { - "cell_type": "markdown", - "id": "eaa9ddbe-adc7-4361-87a3-52d212beceba", - "metadata": {}, - "source": [ - "Just looking at the output, we can see that there are 1000 measurements, but only 986 systems. This means there are duplicates in the `measurements`. Ideally we would delete these duplicated entries, but since this notebook just wants to show a quick example, we will leave this for the other notebooks. Let's continue and have a look at the first measurement and the stored information." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e86e578e-83cf-4485-ab58-0d32c0f6a88f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "208d081f-dcd4-4eba-81fd-5f4f2bd6ff45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([5.13076828])" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].values" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0f45a7b1-49ba-4c89-89ba-655b7f232725", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a8c2aae5-f420-4af1-bc46-44b8ebb7e70b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e22d6649-7df9-4cbd-8bbd-3506c080799a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chembl_provider.measurements[0].system.protein" - ] - }, - { - "cell_type": "markdown", - "id": "ff82aa40-141d-457e-aaee-c783a5b33092", - "metadata": {}, - "source": [ - "As explained above, each measurement comes with a `values` array representing the activity values for this measurement, which can be considered the typical `y` we want to predict in an ML experiment. The `system` object contains relevant information about `protein` and `ligand` for this measurement. The `system` information is typically `X` in an ML experiment, but is not yet in a machine-friendly format." - ] - }, - { - "cell_type": "markdown", - "id": "7fa6c5d4-4905-4829-9220-c4d0068d6a3f", - "metadata": {}, - "source": [ - "## 2. Featurize your data\n", - "\n", - "### Featurizer\n", - "\n", - "To get the `X` (`system` information) in a machine-friendly format, KinoML uses so called featurizers, which encode the information of each system. KinoML has different featurizers implemented. In this notebook we will use the `MorganFingerprintFeaturizer`. We are going to iterate this featurizer over all `systems` and transform the `ligand` into a bit vector. All performed featurizations are commonly stored in the `featurizations` attribute of each system. The `last` performed featurization is stored additionally for easy access." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "9ab37164-03d6-4d14-ab09-84aab5a59647", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2f2adcbc-e023-4f47-8153-5bead1d46d5a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,\n", - " 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 1])}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "chembl_provider.featurize(MorganFingerprintFeaturizer())\n", - "chembl_provider.measurements[0].system.featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "59213746-f142-4180-95f1-6cc6278a857c", - "metadata": {}, - "source": [ - "For more details on the KinoML object model have a look at the respective [notebook](https://openkinome.org/kinoml/notebooks/kinoml_object_model.html)." - ] - }, - { - "cell_type": "markdown", - "id": "5b7a46bc-c0c5-4e07-ad89-9e38d79d07f6", - "metadata": {}, - "source": [ - "## 3. ML model training and testing\n", - "\n", - "### ML training and testing\n", - "\n", - "Great, we have used KinoML to first obtain the data we wanted to work with, and then to featurize this data and make it ML readable. Now that we have `X` and `y`, we can run a small ML experiment. In this case, we will train a [support vector classifier](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) from sklearn. " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "e42ca7cc-169a-4d58-80c1-5e70f49a4f4e", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from sklearn.svm import SVC\n", - "from sklearn.metrics import roc_curve, roc_auc_score\n", - "from sklearn.model_selection import train_test_split" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "f59696aa-3df2-4e96-9b6c-f41c74462ed9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0\n", - " 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0\n", - " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0\n", - " 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0\n", - " 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n", - " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0\n", - " 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]\n", - "5.1307683\n" - ] - } - ], - "source": [ - "# get data from provider\n", - "X, y = chembl_provider.to_numpy()[0]\n", - "print(X[0])\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "4cd5bc35-10c3-4918-a9db-e8d185334d38", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# binarize activity values\n", - "y = (y > 7).astype(int)\n", - "print(y[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "e78e1041-38ed-4e71-aa73-804fb83e6cda", - "metadata": {}, - "outputs": [], - "source": [ - "# split data into train and test sets\n", - "x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "78eb6620-7955-4a97-8cad-2fc3fe8f9724", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "SVC(probability=True)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# train the support vector classifier\n", - "svc = SVC(probability=True)\n", - "svc.fit(x_train, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "4188955c-ef1f-4795-8e62-560958bcdfa2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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GTOGChUq+DssY4yP2HqO5jQnTpxg586dXHzxxQC8/PLLtG3blttuu83PkRljfO1s90FYP0IRsnz5curVq8ett97KsWPHALjgggssORhTROWZIFQ10leBGP85cuQICQkJNGjQgDVr1pCens727dv9HZYxxs98tviviJQTkbkiclhEtolIp1zKdRWRX0UkVUR2iMiLImJdYV7y7bffUrt2bUaPHg3AU089xapVq7j88sv9HJkxxt98uTr8WOAEUAnoDIwXkVpuypUC+gMVgPpAcyDBRzEWKU8//TTNmjXjzz//pHbt2ixbtowXX3yRUqVsmQ9jjI8ShIhEAG2B51T1kKouBj4D7stZVlXHq+qPqnpCVXcCMwC7TdcLrrrqKsLCwhg6dCgrVqwgPj7e3yEZYwKIr7puagDpqrox27ZVQFMPjr0BWOtuh4j0BHoCxMb6bkqomcuS+PS3nWctt253KnFVonwQkWf27t3LkiVLuOuuuwDo3LkzjRs3zrpiyRhjsvNVF1NpICXHthQgz0FwEXkQiAdedrdfVSeoaryqxkdHRxdIoJ749LedrNudetZycVWiuKvuhT6IKG+qysyZM7nyyitp374969evB5z7HCw5GGNy46sWxCEg50/pKCAttwNEpA0wEmihqvu8F9q5iasSxexeDf0dxllt376dPn36MH/+fACaN29ui/gUAhkZGezYsYPDhw/7OxQTBCIiIrjooosICclfm8BXCWIjECoil2dbprQOuXcd3QJMBG5X1dU+irFQycjIYOLEiTz11FOkpaVRpkwZXnnlFR588EGbJqMQ2LdvHyJCzZo18/0/vSlaMjIy2LlzJ/v27aNixYr5OtYnnyxVPQx8DAwVkQgRaQzcBUzPWVZEmuEMTLdV1V98EV9hNGDAAHr37k1aWhpt2rRh3bp1dOvWzZJDIXHw4EEqVapkycGcVUhICJUqVSIlJWcvvwfHeiGe3PQFSgJ/4awx0UdV14pIrIgcEpHMUebngDLAv13bD4nIFz6Ms1Do1asX1atX54MPPuDjjz8mJibG3yGZApSenk5YmC3waDwTFhbGqVOn8n2cz25AU9UDQBs325NwBrEzX9/kq5gKk//+979MmTKFV199FRHhsssuY9OmTYSG2j2GhZW1Bo2nzvWzYu3TIHf8+HGef/556tWrx5gxY3jvvfey9llyMMacD/sGCWI///wz3bt3Z926dQD069ePNm3a+DcoY0yhYS2IIHT48GEef/xxGjVqxLp166hRowY//PADb775JpGRNr+i8a/FixfTqFEjypQpQ7ly5WjcuDHLly9n6dKlREREkJZ25tXt//jHP3jzzTcBZ8r5wYMHc/nllxMREUH16tXp1q0bW7duPa+4Bg8ejIjwyy+/nLG9S5cuZ5QXETZv3pz1esGCBdxwww1ERkYSHR1N06ZN+eyzz/Idx8yZM6lWrRoRERG0adOGAwcOuC2XlJRE6dKlT3uISNa8aarKsGHDiI2NJSoqio4dO5Kaevb7s/LDEkQQevvtt3nttdcICQnh6aefZtWqVTRp0sTfYRlDamoqd9xxB4888ggHDhxg586dJCYmEh4eTsOGDbnooouYM2fOacesWbOGdevWce+99wLQrl07PvvsM2bOnElKSgqrVq2iXr16fPPNN+ccl6oyffp0ypUrx7vvvpvv4z/66CPuuece7r//fnbs2EFycjJDhw5l3rx5+XqftWvX0qtXL6ZPn05ycjKlSpWib9++bsvGxsZy6NChrMfq1asJCQmhbdu2AEybNo3p06fz008/sWvXLo4ePcojjzyS77rlSVULxaNevXrqK+3fWqLt31ris/OpqmZkZGQ9P378uHbq1El//fVXn8ZgAse6dev8HYJby5cv1zJlyuS6f9iwYXrTTTedtu2pp57Su+++W1VVFy5cqCVKlNCkpKQCjev777/XEiVK6PTp07VcuXJ6/PjxrH2JiYnauXPnM44BdNOmTZqRkaFVq1bVF1988bzjeOaZZ/Tee+/Ner1582YNCwvT1NTUsx47ePBgvfHGG7Net23b9rSYfvrpJw0PD9fDhw+7PT63zwywQnP5XrUxiCDwySefMHjwYL7++msqVKhA8eLFmTFjhr/DMgFiyLy1rNtVsF0LOcXFRJHY2t3ky6erUaMGxYoVo2vXrnTs2JEGDRpwwQUXZO2/7777SExMJCkpidjYWDIyMpg5c2ZW99LXX3/NddddR9WqVQs0/nfffZfWrVvToUMHHnvsMT7//HP+7//+z6NjN2zYwPbt22nXrl2uZRYvXswdd9yR6/7PP/+c66+/nrVr19KoUaOs7ZdeeinFixdn48aN1KtXL884pk2bxnPPPZf1OvNLPPvr48ePs2nTJurUqeNJ1c7KupgC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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# get the ROC curve including AUC\n", - "y_test_pred = svc.predict(x_test)\n", - "svc_roc_auc = roc_auc_score(y_test, y_test_pred)\n", - "fpr, tpr, thresholds = roc_curve(y_test, svc.predict_proba(x_test)[:,1])\n", - "plt.plot(fpr, tpr, label=f'SVC - AUC={round(svc_roc_auc,2)}')\n", - "plt.xlim([-0.05, 1.05])\n", - "plt.ylim([-0.05, 1.05])\n", - "plt.plot([0, 1], [0, 1], linestyle='--', label='Random', lw=2, color=\"black\") # Random curve\n", - "plt.xlabel('False positive rate', size=12)\n", - "plt.ylabel('True positive rate', size=12)\n", - "plt.tick_params(labelsize=12)\n", - "plt.legend(fontsize=12)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "66d33f5a-a680-425a-a86c-d3c0d8ae4f05", - "metadata": {}, - "source": [ - "For more advanced examples have a look at the [experiments-binding-affinity](https://github.com/openkinome/experiments-binding-affinity) repository." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.html b/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.html deleted file mode 100644 index 794c8557..00000000 --- a/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.html +++ /dev/null @@ -1,7591 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kinase informed morgan 1024 experiment — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

Kinase informed morgan 1024 experiment

-

In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use kinoml.features.ligand.MorganFingerprintFeaturizer and kinoml.features.protein.AminoAcidCompositionFeaturizer which means that we will use the ligand and protein information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second -part is the actual experiment.

-
-

1. Featurize the dataset

-

Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.

-

kinoml.dataset.DatasetProvider objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of kinoml.core.BaseMeasurement, each containing a set of .values and a some extra metadata, like the system objects to be featurized here.

-

In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).

-

Available featurizers can be found under kinoml.features.

-
-
[3]:
-
-
-
# If this is the template file (and not a copy) and you are introducing changes,
-# update VERSION with the current date (YYYY.MM.DD)
-VERSION = "2023.11.06"
-
-
-
-
-
[4]:
-
-
-
#fuction to obtain current working path to ouput results
-def main():
-    parameters["HERE"] = str(nbout.parent.resolve())
-
-
-
-
-
[5]:
-
-
-
HERE = _dh[-1] #current path
-
-
-
-
-

✏ Define hyper parameters

-

Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc…)

-
-
[6]:
-
-
-
# Parameters
-DATASET_CLS = "kinoml.datasets.chembl.ChEMBLDatasetProvider"
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv", #your dataset
-    "sample": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number
-}
-
-PIPELINES = {
-    "ligand": [
-        [
-            "kinoml.features.ligand.MorganFingerprintFeaturizer",
-            {"nbits": 1024, "radius": 2},
-        ]
-    ],
-    "kinase": [["kinoml.features.protein.AminoAcidCompositionFeaturizer", {}]],
-}
-PIPELINES_AGG = "kinoml.features.core.TupleOfArrays"
-PIPELINES_AGG_KWARGS = {}
-FEATURIZE_KWARGS = {"keep": False}
-GROUPS = [
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: measurement.system.protein.name"},
-    ],
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: type(measurement).__name__"},
-    ],
-]
-TRAIN_TEST_VAL_KWARGS = {"idx_train": 0.8, "idx_test": 0.1, "idx_val": 0.1}
-
-
-
-

⚠ If you are adapting this notebook to your own dataset, you should not need to modify anything from here 🤞

-
-

Define key paths for data and outputs:

-
-
[7]:
-
-
-
from pathlib import Path
-
-HERE = Path(HERE)
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-# Generate paths for this pipeline
-featurizer_path = []
-for name, branch in PIPELINES.items():
-    featurizer_path.append(name)
-    for clsname, kwargs in branch:
-        clsname = clsname.rsplit(".", 1)[1]
-        kwargs = [f"{k}={''.join(c for c in str(v) if c.isalnum())}" for k,v in kwargs.items()]
-        featurizer_path.append("_".join([clsname] + kwargs))
-
-OUT = HERE / "_output"  / "__".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider
-
-
-
-
[8]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
-

Setup is finished, start working

-
-
[9]:
-
-
-
from warnings import warn
-import os
-import sys
-from pathlib import Path
-from datetime import datetime
-
-import numpy as np
-import awkward as ak
-
-from kinoml.utils import seed_everything, import_object
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 11:18:57.807233
-
-
-
-
-

Load raw data

-
-

This import_object function allows us to take a str containing a Python import path (e.g. kinoml.datasets.chembl.ChEMBLDatasetProvider) and obtain the imported object directly. That’s how we can encode classes in JSON-only papermill inputs.

-

See the help message import_object? for more info. Note that you need an OE license

-
-
-
[10]:
-
-
-

dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS) -dataset -
-
-
-
-
-
-
-
-/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).
-  from pandas.core.computation.check import NUMEXPR_INSTALLED
-
-
-
-
-
-
-
-
-
-
[10]:
-
-
-
-
-<ChEMBLDatasetProvider with 3000 measurements (pIC50Measurement=2826, pKdMeasurement=53, pKiMeasurement=121), and 3000 systems (KLIFSKinase=1, Ligand=3000)>
-
-
-
-
[11]:
-
-
-
#visualise your dataset!
-
-df = dataset.to_dataframe()
-df
-
-
-
-
-
[11]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
-

3000 rows × 4 columns

-
-
-
-
-

Featurize

-

Now, let’s convert the data set into somehting that is ML-readable!

-
-
[12]:
-
-
-
# build pipeline
-from kinoml.features.core import Pipeline
-
-pipelines = []
-for key, pipeline_instructions in PIPELINES.items():
-    print(f"Building featurizer `{key}` with instructions:")
-    featurizers = []
-    for featurizer_import_str, kwargs in pipeline_instructions:
-        kwargs = kwargs or {}  # make sure empty values (None, "") turn into {} so we can do **kwargs below
-        print(f"  Instantiating `{featurizer_import_str}` with options `{kwargs}`")
-        featurizers.append(import_object(featurizer_import_str)(**kwargs))
-    pipelines.append(Pipeline(featurizers))
-print("Resulting pipelines:", *pipelines)
-aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)
-print("Aggregated pipelines:", aggregated_pipeline)
-
-
-
-
-
-
-
-
-Building featurizer `ligand` with instructions:
-  Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`
-Building featurizer `kinase` with instructions:
-  Instantiating `kinoml.features.protein.AminoAcidCompositionFeaturizer` with options `{}`
-Resulting pipelines: <Pipeline([MorganFingerprintFeaturizer])> <Pipeline([AminoAcidCompositionFeaturizer])>
-Aggregated pipelines: <TupleOfArrays([Pipeline([MorganFingerprintFeaturizer]), Pipeline([AminoAcidCompositionFeaturizer])])>
-
-
-
-
[13]:
-
-
-
%%capture --no-display
-# to hide warnings
-
-aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);
-
-
-
-
-
[13]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)S(=O)(=O)/C(C#N)=C/c2cc(O)c(O)c(OC)c2)cc(O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(Br)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCCNC(=O)c1cccc(Nc2nccc(-c3cccnc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(CN(Cc2ccc(O)cc2)C(=S)Nc2ccccc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(C(=O)Nc3ccc(-c4cncc(C#N)c4Nc4ccc(F)c(Cl)c4)cc3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CC(=O)Nc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=ClCCNc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(Nc3cc4c(N5CCCC5)nc(Nc5ccccc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(N/N=C/c3ccc(F)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(Cc4ccccn4)cc3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(Nc2nnnc3sc4c(c23)CCC4)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(-c2c(-c3ccc(OCCN4CCCC4)cc3)oc3ncnc(NCCN4CCNCC4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cncc(-c2c[nH]c3nc(Nc4ccc(N5CCN(C(C)=O)CC5)cc4)nc(Oc4ccccc4)c23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(NC3CCCCC3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)Cc1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(c1)C(c1ccccc1Cl)=Nc1c[nH]nc1N2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1[C@@H](C)CNC[C@H]1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3ccc(C(=O)NCCN(C)C)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCn1c2ccc(OC)cc2c2c(Nc3cccc(Br)c3)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cc2sc3c(Nc4cccc(Br)c4)ncnc3c2cc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cc2nc3cc(Nc4ncnc5nn6ccccc6c45)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cc(-c3cn4c5c(cccc35)CCC4)ncn2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(c1ccc(OC)cc1)c1ncnc2occ(C)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2cc3c(Nc4cccc(Br)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(-c4cnc(Nc5ccc(F)cc5)n(C)c4=O)cc3F)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(O)cc1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCCCNC(=O)/C(C#N)=C/c1ccc(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3ccc(NCc4ccc5c(c4)OCCCO5)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)NC(=O)Cc2ccc(Br)cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cc(F)c(F)cc1Cl)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCCCC5)nc(Nc5ccccc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO.Nc1ccc2sc3c(Nc4ccccc4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cnc(Nc2ccccc2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCOCC5)nc(Nc5ccccc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(C(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C)C(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(Nc2ccccc2)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(OCCN(C)C)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCOCC1)N1CCc2c(sc3ncnc(N[C@H](CO)c4ccccc4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnn4ccc(COC[C@@H]5CNCCO5)c34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Br.Cc1ccccc1C(C)Nc1ncnc2[nH]c(-c3ccc(O)cc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C4CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCNCCNCCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCc1cccc(-c2nc(-c3ccc(F)cc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccncc23)c1NCCCCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3cccc(C(=O)O)c3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N(C)c2nc(N)nc3c(Cc4ccccc4)c[nH]c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(N)C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ccnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C1CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC(=O)CSc1nc2ccccc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCN4CCOCC4)nc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc([N+](=O)[O-])cc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(=O)n(C(C)C)c3cnc(Nc4ccc(N(C)CCN(C)C)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4C)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NCc4ccccc4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cccc(-c5ccoc5)c4)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2oc(-c3ccc(Br)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)c(O)c(Br)c1)C(=O)NCCCNC(=O)/C(C#N)=C/c1cc(O)c(O)c(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCCN1CCCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2cc3c(cc2Nc2ccc(C)cc2)C(=O)NC3=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C(C)=O)CC2)ccc1Nc1ncc(Cl)c(-c2c[nH]c3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(C(N)=O)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cc([N+](=O)[O-])nc1C[N+](C)(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1.[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(C)n1cnc2cnc(Nc3ccnc(N4CCC(OC)CC4)n3)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(-c3ccccc3)sc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1)C(=O)N[C@H](C)C(=O)NCCN>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4c(cc23)OCCOCCOCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(-c4cnc(Cc5ccccc5)n(C)c4=O)cc3F)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CN(C)CCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Nc3ccc(F)cc3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Nc1ncnn2ccc(CN3CCC(N)CC3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(Nc4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(c1cccc(F)c1)n1ncc2cc(Nc3ncnc4cc(C#C[C@@H]5C[C@@H](OC(=O)N6CCOCC6)CN5)sc34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(C(=O)Nc2nccc(-c3cccnc3)n2)cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1C(=O)CS/C1=N/Nc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN(C)[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cc(Nc2ncnc3[nH]nc(OCCCN4CCOCC4)c23)ccc1OCc1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N2Cc3cnc(Nc4ccccc4)nc3N([C@H]3CC[C@H](O)C3)C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(NC(=O)Nc3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)cc(-c2nn(C(C)C)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cnccn2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C(F)(F)F)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)N(CCCl)N=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)CC1CCSS1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nnc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3c2sc2ccc([N+](=O)[O-])cc23)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3ccc(F)cc3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(NC(C)=O)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2nccc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2cc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)ccc2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(F)cc1)c1cccnc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Br)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cn1c(-c2ccccc2)cc(=O)n2ncnc12)NNC(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1cn2ncnc(Nc3cccc(Br)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(ccn4CC(C)C)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(C#N)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)c(C#N)cnc2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(NC(=O)Nc4ccc(Cl)c(C(F)(F)F)c4)cc3)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(N2C(=O)N(C)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CBr)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCNc2ncc3cc(-c4c(Cl)cccc4Cl)c(NC(=O)NC4CCCCC4)nc3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1nn(-c2ccc(C)cc2)cc1C(=O)c1c(C)[nH]c(-c2ccccc2)c1-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(N)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)c(Br)c2)CC1c1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3sc(Br)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3nc(Nc4ccc(S(N)(=O)=O)cc4)sc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCSC(=S)N1CCN(c2ccccc2)CC1)Nc1cccc(NC(=O)c2ccccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(NCCc4c[nH]cn4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc(NCCc4c[nH]cn4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2nn(C3CCCC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(C)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc(-c2cncc(C#N)c2Nc2ccc(F)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NC(=S)Nc1ccc(O)c(-c2nc3ccccc3s2)c1)c1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(O)c([N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(ON2CCC(C)CC2)c2c(Nc3ccc(OCc4ccccn4)c(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3S(=O)(=O)C(C)C)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc5[nH]ncc5c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc4c(cnn4Cc4ccccc4)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@@H]1[C@H](N(C)C(=O)c2ccccc2)C[C@H]2O[C@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2ccc(-c3nn(C(C)C)c4ncnc(N)c34)cc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4cccc(C(C)=O)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2c(Nc3cccc(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2cc(Cl)ccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(N[C@@H](C)c3ccccc3)c2cc1NC(=O)[C@@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(N)c(C(=O)Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2cc3oc(=O)n(CCCN4CCOCC4)c3cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC(OC)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4cccc(Br)c4)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=[N+]([O-])c1ccc2sc3c(Nc4cccc(C(F)(F)F)c4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3C)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(C(N)=O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccc(C(F)(F)F)cc3)n2)c(OC)cc1N1CCC(C(N)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CCO)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1C/C(=N/NC(=O)c1ccccc1O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2ncncc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4nccs4)c3)c12)C(=O)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@H](Nc1cnc(-c2cc(Cl)ccc2O)c(-c2ccc3cnccc3c2)c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN([C@H]2CC[C@H](n3nc(-c4ccc(Nc5nc6cccc(Cl)c6o5)c(F)c4)c4c(N)ncnc43)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2nn(C(C)C)c3ncnc(N)c23)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(Nc1ccccn1)c1ccc(Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CC[C@H](O)[C@H](F)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(-c3cc4c(N[C@H](C)c5ccccc5)ncnc4[nH]3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4ccco4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(F)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccc(-c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=CN/C=C/c1ccc(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCC(n2nc(-c3ccc(F)c(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](C(N)=O)N(C)Cc1cc2c(Nc3cccc(Cl)c3F)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccc(C)cc4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@H]6CNCCO6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)CC(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(COC(c2cccs2)c2cc3ccccc3nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)c1ccc(Nc2nc(NC(=O)C(C)(C)C)nc3[nH]c4cccc(Cl)c4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(C)=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/NCC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCc1ccc(Nc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3C(F)(F)F)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CN1CCC[C@@H]1C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(N5CCOCC5)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)c(O)c(CSCc2ccccc2)c1)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccccc1)Nc1cccc(-c2nc3sccn3c2-c2ccnc(Nc3ccc4c(c3)CCNC4)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c(SSc2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)c2c(=O)c(-c3cccc(Cl)c3)coc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4ccc(OCc5cccnc5)c(Cl)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C(=O)Oc1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3nccn3)n2)c(OC)cc1N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CN2CCCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cncc(-c2c[nH]c3nc(Nc4ccc(N5CCN(C(C)=O)CC5)cc4)nc(OC4CCCCC4)c23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(CCCN1CCOCC1)c1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ccnc(Nc3cccc(-c4nc5ccccc5s4)c3)n2)n[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCCCC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ncnc4cc(-c5ccccc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2c(Nc3cccc(Br)c3)ncnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(OC)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCC)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1ccc(NC(=O)CSc2nnc(CNc3ccc(OC)cc3)n2-c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1c(Br)cc(/C=C2\C(=O)Nc3ccccc32)cc1C(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCN(CC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1)CCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCCN1CCN(C)CC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)N2CCN(C)CC2)c[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc(F)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CN2CCOCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncnc(-c3cn(C)c4ccccc34)c2OC)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Oc2ccnc3[nH]ccc23)c(F)c1)c1nnn(-c2ccc(F)cc2)c1C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Nc3cccc(Br)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCOC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ncc(-c2nn(C(C)C)c3ncnc(N)c23)c(OC)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(F)cc3)=NN2C2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(Cc3ccccc3)cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2F)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Oc2ccc(Nc3ncnc4cc(C#C[C@@H]5C[C@@H](OC(=O)N6CCOCC6)CN5)sc34)cc2Cl)no1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NN=C(C#N)C#N)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccc(Cl)cc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OOC2(CCC(C(=O)Nc3ccc4ncnc(Nc5cccc(Cl)c5)c4c3)CC2)OO1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C(=O)NCCN(C)C)cc(OC)c1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3ccc(C(F)(F)F)cc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)N1CCN(CCC(=O)Nc2cccc(Oc3nc(Nc4ccc(N5CCN(C)CC5)cc4OC)ncc3Cl)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=[O-][S+]1CCN(Cc2ccc(-c3cc4c(Nc5ccc(OCc6cccc(F)c6)cc5)ncnc4cn3)o2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCC(N3CCN(S(C)(=O)=O)CC3)CC2)ccc1Nc1nccc(-c2c(-c3cccc(C(=O)Nc4c(F)cccc4F)c3)nc3ccccn23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(CCCCCn2c3c(c4cc(OCCc5ccc(O)cc5)ccc42)CC(N)CC3)cc1.Cl.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(C(F)(F)F)cc1)Nc1ncnc2nn3ccccc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c(-c2ccccc2)c(-c2ccccc2)c1-c1nnc(C)c2nn(-c3ccc(Cl)cc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCCC(=O)Nc1cc(N2CCOCC2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(NS(=O)(=O)c2ccc(Nc3nncc4ccccc34)cc2)no1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=C/C(=O)c2ccc(NC(=O)c3cc4cc5ccccc5nc4s3)cc2)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2cc(O)c(O)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(I)c3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CC(F)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nn(-c2ccccc2)nc1Cn1nc(-c2ccc(F)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1-c1cn(-c2ccccc2)c2ncnc(N)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nccc(-c2c(-c3ccc(F)cc3)ncn2C2CCCCC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NC(CO)Cc2ccccc2)[nH]c2ccc(C(F)(F)F)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCCCCCn1cc(-c2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)nn1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCc1ccccc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ncc(C(=O)Nc2cc(C(=O)Nc3ccc(CN4CCN(C)CC4)c(C(F)(F)F)c3)ccc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(NC(=O)c4ccccc4)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(C)c3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCN1CCNCCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)NCCNCc1ccc(-c2cc3nccc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)nc4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC(=O)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)c(C)c1)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(CN6CCNCC6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CC[C@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C(=O)/C=C/C(=O)NCCCN(C)C)c1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(F)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Br)cc2)CC1c1ccc(C(=O)OC(C)Cn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)c(C#N)cnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCSc1nc(-c2ccccc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc3c(-c4c[nH]c(-c5ccccc5)c4-c4ccccc4)nnc(O)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4cccc(F)c4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCC(=O)Nc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1OCCCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(CC/C=C/c2ccc3c(Nc4ccc(Sc5nccn5C)c(Cl)c4)c(C#N)cnc3c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3cnn(CCN(C)C)c3)nc3[nH]ccc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)N2CCNCC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)C(CO)Nc1nc(Nc2ccc(N3CCNCC3)cc2)c2ncn(C(C)C)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cc(Cl)ccc2O)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)O)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2ccc(-c3ccc(CN)cc3)cc2c1N[C@@H]1C[C@H]1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C#N)cc3)ncnc2cc1OCCCN1CCC(c2ccccc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C(F)(F)F)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2[nH]c(-c3ccc(F)cc3)cc12)c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)ccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCNC(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c([Se][Se]c2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC4CCOCC4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(N)/C(C#N)=C/c1ccc(O)c([N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3ccc(N4CCN(C)CC4)cc3OC)ncc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2c1ccc(O)c2O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(O)cc2)C(=S)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2ncnc(Nc3ccc(F)c(Br)c3)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C\c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN(C)C)C(=O)c1ccc(OS(=O)(=O)c2ccc(C(=O)O)c(O)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(=O)n(C(C)C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Br)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCN(C)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@@H]6CNCCO6)c45)ccc32)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCCn4cnnn4)cc3)ncc2[N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(N(C)C(=O)c2ccccc2)cc1Nc1nccc(-c2cccnc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2occ(-c3ccc(NC(=O)Nc4cc(C(F)(F)F)ccc4F)cc3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)OC(C)(C)C)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCNC(=O)c1cc(NCc2cc(O)ccc2O)ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3cnccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc[nH]n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4cccnc34)n2)c(OC)cc1N(C)CCNC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc2c(C#N)cnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C(F)=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cc(Cl)c(Cl)cc3F)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2ccc(Br)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccc(OC)c(OC)c3)n2)c(OC)cc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccc(Cl)c2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(O)c2c(=O)n(-c3cccc(C(=O)N4CCCCC4)c3)ccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3sc4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(Br)cc3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(Br)cc3F)ncnc2cc1OCCCC(=O)CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4ccccc4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OC)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)Oc1cccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)O)cc1.Fc1cccc(COc2ccc(Nc3ncnc4ccc(-c5ccc(CN6CCOCC6)o5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cc(Cl)ccc3O)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)NCCN(C)C)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)[C@@H](c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4[nH]ncc4c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(Nc3cccc(Cl)c3)[nH]nc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(-c4ccc(CO)o4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cnn(-c2ccccc2)c1)c1cccc(NS(=O)(=O)c2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2cc3ncc(C#N)c(Nc4ccc(F)c(Cl)c4)c3cc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N[C@H]1CC[C@@H](n2c(=O)c(-c3ccccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCOC(=O)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@H]1Oc2cc3ncnc(Nc4cccc(Cl)c4)c3cc2O[C@@H]1COC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(C/C=C/C(=O)Nc2cc3c(Nc4ccc(F)c(Cl)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C(=N\Nc1ncc(Cl)c(Nc2cccc(NC(=O)/C=C/CN(C)C)c2)n1)c1ccc(F)cc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCOc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C6COC6)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(Br)cc1)c1ccc(Cl)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1CCC(n2c(NC(=O)c3cccc(C(F)(F)F)c3)nc3cc(C)ccc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC)c(NC(=O)/C=C/CN(C)C4CC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1[nH]cnc2nc(-c3ccccc3)cc1-2)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(c1ccccc1)c1cccc(NC(=O)c2cc3ccccc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.Clc1cccc(Nc2ncnc3ccccc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc4sccc34)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2nc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCC(=O)c1ccc(OCc2ccccc2)c(O)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Oc2ccc(Nc3ncnc4ccn(CCOCCO)c34)cc2Cl)c1)NC1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCCCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(Br)cc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(N)C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(F)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2NC(=O)COCc2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NNc1nncc2ccccc12)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4cnn(CCN(C)C)c4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCn4ccnc4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2ncc3c(n2)-c2ccc(Cl)cc2SC3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc3[nH]ccc23)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)CN(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCOc1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)CCN(C)C)c(NC(=O)C=C(C)C)cc1Nc1nc2c(c(-c3cn(C)c4ccc(F)cc34)n1)CS(=O)(=O)CC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CCC(=O)c1ccc2ccccc2c1)Cc1ccccc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(Oc5cccc(C(F)(F)F)c5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(-c2cccc(Nc3ncnc4cc5c(cc34)OCCCO5)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O[C@H]1CC[C@H](Nc2ncc3nc(Nc4c(F)cc(F)cc4F)n([C@H]4CCOC4)c3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2[nH]c(Cc3cccc(F)c3)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(F)cc2)CC1c1ccc2ccccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Cl)c1NC(=O)c1cnc(NC(=O)C2CC2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CO)NC1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(C(=O)Nc3ccc(-c4cncc(C#N)c4Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)cc3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4c(F)cccc4F)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Cc3ccc(F)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(C#Cc2cncnc2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(NC(=O)OCc2ccccc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1cc(F)c(F)cc1F)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(C3CCCC3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(C)C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)Nc1ccc(C(=O)Nc2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2cc(N3CCN(C)CC3)nc(Oc3cccc(N)c3)n2)n[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc(Cc4ccccn4)cc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCNC(=O)/C(C#N)=C/c1ccc(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2cc3c(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncnc3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1csc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccccc1NC(=O)/C=C/c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2c(c1)CCN2Cc1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.NC1CCc2c(c3cc(OCCc4ccc(O)cc4)ccc3n2CCCCCc2ccccc2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2cc(Nc3cccc(Cl)n3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(F)cc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(NC(C)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(CNc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5ccccn5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1cc[nH]c(=O)c1-c1nc2c(C(C)C)ccc(C)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN1CCNCC1)C(=O)c1ccc(OCc2ccccc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCN(C/C=C/C(=O)N2CCOc3cc4ncnc(Nc5ccc(F)c(Cl)c5)c4cc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nn2c(=O)cc(-c3ccccc3)[nH]c2c1/N=N/c1ccc2c(c1)OCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccccc4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Nc1nc2cc(F)c(N(C)C(=O)/C=C/CN(C)C)cc2n2cncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(/C=C/c2ccccc2Cl)=N\NC(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(CSC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NCc3cccc(C)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3ccc(F)c(C=O)c3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Cl)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)cc4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(OCc2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4cc(-c5ccc[nH]5)sc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl)ccc2c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)C/C(=C\c3nc(C)c(C)nc3C)C2=O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(/C=N/NC2=NC(=O)CS2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2oc(-c3ccccc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1ccc(F)c(C)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc4c(cc23)N(C(=O)/C=C/CN2CCCC2)CCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(COC(c2cccs2)c2cc3ccccc3nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](Oc2nc(Nc3ccc(N4CCN(C(C)=O)CC4)cc3)nc3[nH]cc(-c4cncc(NC)n4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2cccc(F)c2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCCOc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OB(O)c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=C(C#N)C#N)cc(Br)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC)c3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Nc2cc(Nc3cccc(C(F)(F)F)c3)ncn2)c1)C1CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCC(CCO)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)N1CCc2c(sc3ncnc(N[C@H](CO)c4ccccc4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN3CCOCC3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C/c1cc(Cc2ccccc2)c(O)c(Cc2ccccc2)c1)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Br)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1NC(C)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1nc(Nc2ccc3[nH]ccc3c2)c2sccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN3CCCC3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(CO)NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3c(F)cc(Cl)cc3F)ncnc2cc1OCC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cccc(F)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C(=O)N(CCCl)N=O)c1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4ccc(Cl)cc4F)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-n2cc(CN3CCNCC3)nn2)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(Cl)c3)c2cc1OCC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(Nc2[nH]cnc3c4ccccc4nc2-3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1cc2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CC(=O)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(-c5ccco5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)CC(=C\c3nc(C)c(C)nc3C)/C2=N/O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1nc(-c2ccc(OC)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)c(Br)c3)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN1CCC1C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(NCc3ccccc3)ncnc2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)CC[C@]2(C(=O)OCCO[N+](=O)[O-])CC[C@]3(C)C(=CC[C@@H]4[C@@]5(C)CC[C@H](O)C(C)(C)[C@@H]5CC[C@]43C)[C@@H]2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4cccc(Br)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCNCC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)C(/N=C1/C=C(O)/C(=N\C(C(=O)O)C(C)O)C=C1O)C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(c2c(O)cc(O)c3c2O/C(=C\c2ccccc2Cl)C3=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3ccc(C(=O)O)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc(NC(=O)c3cccc(NS(=O)(=O)c4ccccc4)c3)cn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccccc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)CC1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCCC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2ccn(Cc3ccc(Cl)cc3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(NC(=O)c2ccc(N(CCCl)CCCl)cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3cc4c(cc23)OCCOCCOCCO4)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(C(=O)/C=C\C(=O)O[C@H](CC=C(C)C)C2=CC(=O)c3c(O)ccc(O)c3C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(C)=O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NC(=O)c2cc(Nc3ccc(O)cc3)c(Nc3ccc(O)cc3)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C=O)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(Cl)cc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4ccc(-c5cnn(C)c5)cc4)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2oc(-c3ccccc3)c(-c3ccccc3)c12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3cc(F)ccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C(\F)C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2cc(N3CCN(C)CC3)nc(Oc3ccc(N)cc3)n2)n[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1CCN(c2nccc(Nc3cc4c(cn3)nc(CO)n4C(C)C)n2)C[C@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3occc(=O)c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2c(C#N)cnc3cc(-c4coc(CN5CCN(C)CC5)c4)c(OC)cc23)c(Cl)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(Nc3ccccc3P(C)(C)=O)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(Oc4ccccc4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2nccc(Nc3cccc(Br)c3)c2cc1NC(=O)/C=C/CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(C(=O)CC)CC4)cc3OC)ncc2SC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(CCN(C)C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc(OCc3ccccc3)c(Cl)c2)c1C(=O)NNC(=O)CCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(=O)NCCCCNC(=O)/C(C#N)=C/c2cc(OC)c(O)c([N+](=O)[O-])c2)cc([N+](=O)[O-])c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1/C=C/C(=N/NC(N)=S)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCC(CO)CC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(OC)c(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccc([N+](=O)[O-])c2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(O)CCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3cccc(Br)c3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCCCCOc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2c3c4cc(OC)c(OCCCN(C)C)cc4oc(=O)c3n3ccc4cc(O)c(OC)cc4c23)cc1O.O=C(O)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2ncnc3ccncc23)c(N)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C(C)=O)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(NCc3ccccc3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)nc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3nc(Nc4ccccc4)sc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2oc(-c3ccc(NCCN4CCCCC4)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cc2ncnc(Nc3cccc(Br)c3)c2cc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(S(C)(=O)=O)CC4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccc(Cl)cc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCc1c(C(=O)OCC)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCC4CCCO4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)Oc1ncnc(Nc3ccc(F)c(Cl)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(C4CCN(C)CC4)cc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3occc(=O)c3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(NN=C2CCCCCC2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCOCC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc4c(ccn4Cc4ccccc4)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(SCCCC(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)c3ccco3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(N(C)c2ccc(OC(C)C)cc2)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCN1CCOCC1)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1cc(Nc2nccc(-c3c(-c4cccc(C(=O)Nc5c(F)cccc5F)c4)nc4ccccn34)n2)c(OC)cc1N1CCC(N2CCN(S(C)(=O)=O)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccccc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CC[N+](C)(C)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N1CCC(N(C)C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CNCC1COC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)[C@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CNc2ncnc3oc(-c4ccccc4)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3cccc([N+](=O)[O-])c3)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2ccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)cc2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C2=C(c3c[nH]c4ccccc34)CNC2=O)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3cc(OC)c(OC)cc23)cc(OC)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OC(Cc1c(SSc2[nH]c3ccccc3c2CC(OC(C)=O)C(=O)NCc2ccccc2)[nH]c2ccccc12)C(=O)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C#N)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[C@@H](Nc1ncnc2sc3c(c12)CCN(C(=O)/C=C/CN(C)C)C3)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3ccccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(Cl)cc(F)cc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)Cc1ccncc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)CN1CCC(n2cc(-c3cccc(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCOCC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=FC(F)(F)c1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2oc(-c3ccc(OC)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cccs1)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CC(=O)NS(=O)(=O)c2ccc(F)cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3c2NCc2ccccc2O3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)NCCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2cc(-c3nn(C(C)C)c4ncnc(N)c34)ccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(O)(c2nc(-c3ccc(F)cc3)c(-c3ccncc3)o2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nccc(C#Cc2cncnc2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CNc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(C#N)c1cc(O)c(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cc(-c3cn4c5c(cccc35)CCC4)nc(OC)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c3nc(Nc4ccc(N5CCN(NC)CC5)cc4OC)ncc3c(=O)n3ccnc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](O)c1nc2cnc(Nc3ccnc(N4CC[C@H](O)[C@H](F)C4)n3)cc2n1[C@H](C)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)c(F)c3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCNCCS(C)(=O)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc(C#N)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(CNC6CCNCC6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOCc1ccc2c(c1)nc(NC(=O)c1cccc(C(F)(F)F)c1)n2[C@H]1CC[C@H](O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1c(-c2cccc(Cl)c2)coc2cc(O)cc(O)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NC)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Oc2ncnc3ccccc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc(F)cc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccc4Cl)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4ccc(F)cc4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(F)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)c(C)c2)CC1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)NS(=O)(=O)c2ccc(Br)cc2)c(Cl)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc(Br)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(ccn5CCc5ccccc5)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1)C(=O)N[C@@H](C)C(=O)NCCN.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(N2CCOCC2)cc2[nH]c(-c3c(NC[C@@H](O)c4cccc(Cl)c4)cc[nH]c3=O)nc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1csc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)COc1cccc(Nc2ncc(F)c(Nc3ccc4c(c3)NC(=O)C(F)(F)O4)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(F)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CCCO)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3n[nH]c4ccccc34)cc(N3CCN(C(C)=O)CC3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)C(F)(F)F)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OCOC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C(N)=S)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2csc(=N)n2CC(=O)N2CCOCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cc(OC)c(OC)c(OC)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc(C)c2nc(Nc3ccc(OCCN4CCCC4)cc3)nnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2F)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCn1nc(-c2ccc(OCC)c(OC)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(N2NC(=O)/C(=C/c3ccc(-c4ccccc4F)o3)C2=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3nc(NN)ccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2nnc(Cc3ccncc3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)CC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4cccc(C(F)(F)F)c4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1Br)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNc1nc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Cl)c4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)[C@@H](c1cc(F)ccc1O)N1Cc2ccccc2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1cccc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C1=CC2=C(Cc3nnc(Cc4nc5ccccc5[nH]4)o3)CNC2C=C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCC(CCO)CC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc4ccccc4c3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3nc(SC)n(C)c3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](c1ccccc1)n1ncc2cc(Nc3ncnn4ccc(COC[C@@H]5CNCCO5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Cl)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(CNC(=O)c2c(SSc3c(C(=O)NCc4ccc(C(=O)OC)cc4)c4ccccc4n3C)n(C)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(c4ccccc4)CS3)C(c3cccc4ccccc34)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12)N(C)C(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1nc(N)nc2[nH]c3cc(C)c(O)cc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=S)C(C(=O)Nc2ccccc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(Br)c(/C=N/c2ccc3[nH]c(=O)[nH]c3c2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)O)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncc3c(n2)-c2ccc(Cl)cc2SC3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CSCCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(CN(Cc2ccc(F)cc2)C(=O)Nc2ccccc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)NC(=O)c2ccc(C)nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)c1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CC(=O)N(C)C)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(/C=C/c2cc(-c3cc4c(=O)[nH]cnc4[nH]3)ccn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N(CCCl)CCN/N=N/c2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCc1ccc(O)cc1)c1c(O)cc(O)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(NC(=O)OCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Cc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=C=S)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCS(=O)(=O)CC(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(NN2C(=O)/C(=C\c3cccs3)SC2=S)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCN(CCOC)S(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccncc23)c1NCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc(-c2cc(=O)c3c(N)c(O)c(N)cc3o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3cn[nH]c3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Cc3cccc(Br)c3)ncnc2cc1OCCCn1ccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cc2c(N)ncnc2nc1NCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2nc(-c3ccccc3)[nH]c2-c2ccnc3[nH]ccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(C3CCN(Cc4ccccc4)C3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CSc1cn2c(-c3cn[nH]c3)cnc2c(Nc2cc(C)ns2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CC6(CCN(C)CC6)C5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc(-c4ccccc4)cc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCN(C(=O)Cn2c(-c3ccc(Cl)cc3)csc2=N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(F)cc1)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(Cl)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN3CCCCC3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2[nH]cnc3nc4ccccc4c2-3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c(Cl)c3Cl)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3cccn3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2ccc3c(c2)NC(=O)/C3=C\c2[nH]c3c(c2CCC(=O)O)CCCC3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@@H]1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2ncnn3ccc(CN4CC[C@@H](N)[C@H](O)C4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(F)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(Sc2cccc(NC(=S)Nc3ccc(Cl)c(C(F)(F)F)c3)c2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CNc1c(NCc3ccccc3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(c2ccc(Nc3nccc(-c4c(-c5cccc(NC(=O)Cc6ccccc6)c5)nc5sccn45)n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c2[nH]c(SC/C(=N/O)c3ccc(Br)cc3)nc2n(C)c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(C=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(F)c2)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=[N+]([O-])c1ccc2sc3c(Nc4cccc(Br)c4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3ccc(-c4cnn(C5CCNCC5)c4)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCOCC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(C)(C(N)=O)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)N1CCc2c(sc3ncnc(NCCO)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(C)Oc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccccc4C)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cccnc3n2C)c(C(=O)Nc2ccccc2)c2cccnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Nc2ncnc3sc4c(c23)CCCC4)cc1)Nc1cccc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cccc(O)c2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(NC(=O)CO)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)OC(=O)NCC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc3ccccc3nc2Cl)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CNCc1ncccn1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Br.C[C@@H](Nc1ncnc2[nH]c(-c3ccc(O)cc3)cc12)c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1ncc([N+](=O)[O-])c1C[N+](C)(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1.[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3ccc(F)cc3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCC1C(S)=Nc2ccccc21)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCCO)c1nc(Nc2ccc(F)cc2)nc2cnc(Nc3ccc(N4CCC(N(C)C)CC4)cn3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CC[C@H](O)C(F)(F)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCC[C@@H]1Cn1cc(-c2ccc3c(c2)OCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C=CCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)c2c(=O)n(-c3cccc(C(=O)N4CCCCC4)c3)ccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CN2CCOCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(CN(Cc2cc(Br)cc(Br)c2O)C(=S)Nc2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC2CCOC2)c2c(Nc3ccc(F)c(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cccc(NC(=O)C45CC6CC(CC(C6)C4)C5)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3nsc4ccccc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CNC(=O)c1ccc(Nc2ncnc3cc(OCCN4CCCCC4)c(OC)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCC(O)CNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCCCCCCCCCNC(=O)/C(C#N)=C/c1ccc(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCN(C)CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4nc[nH]n4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CN1CCC(n2cc(-c3cccc(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2ncc(C#N)c(N[C@@H]3C[C@H]3c3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(ccc(=O)n4C(C)C)cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2nccs2)cc(-c2cn(C)cn2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCN1CCOC1=O)c1cnc(NCc2cc(Cl)ccc2Cl)nc1NC1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCCl)C(=O)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4c(cc23)OCCCSCCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2cc(OC[C@H](O)CO)c(NC(=O)C3CSSC3)cc2c1Nc1ccc(OCc2cccc(F)c2)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3cccc(F)c3)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C(=O)NCCN(C)C)ccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cccc(C(F)(F)F)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCCC(F)(F)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(C#N)c1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCNCc1ccc(-c2cc3nccc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCN1CCCC1=O)c1cnc(NCc2cc(Cl)ccc2Cl)nc1NC1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(F)ccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(c3)CCN4Cc3ccccn3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)[C@@H](C)N(C)Cc1cc2c(Nc3cccc(Cl)c3F)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(C#N)cnc(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CNc2nc(N)nc3[nH]c4ccc(O)cc4c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C[C@@H](C)CO)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)N1CCN(Cc2ccc(-c3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)o2)CC1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)CCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCn1cc(Nc2nc(OC[C@H]3CN(C(=O)C=C)C[C@@H]3OC)c3c(Cl)c[nH]c3n2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(/C=C/CCc3ccccc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(C)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CCCC3)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](Nc2nc(Nc3ccccc3)nc3cnc(Nc4ccc(N5CCN(C)CC5)cn4)cc23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(Nc3ncc4nc(Sc5ccccc5)n([C@H]5CC[C@H](O)CC5)c4n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1C/C(=N/NC(=O)c1ccc(N)cc1)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N3CCc4ccccc43)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)c(O)c(Br)c1)S(=O)(=O)/C(C#N)=C/c1cc(O)c(O)c(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C(CSc2nc3c([nH]2)c(=O)n(C)c(=O)n3C)=N\O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1Nc1ncc(-c2ccc(OCC3CCCN(C)C3)cc2)n2cncc12.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)Nc2nc3cccc(C)c3n2[C@@H]2CCCCN(C(=O)/C=C/CN(C)C)C2)ccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Br)cc3)CC2c2ccc(Br)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCOCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc2cnc(N)nc2nc1NC(=O)NC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccs1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/C(=O)NCCCn1ccnc1)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=O)C(=C(C#N)C#N)c2cc(O)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)C(O)C(O)C(O)CO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(c2c(O)cc(O)c3c(=O)cc(-c4ccccc4Cl)oc23)[C@@H](O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(N[C@@H]3C[C@H]3c3ccccc3)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(CCN3CCOCC3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3ccc(Cl)cc3Cl)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[N+](C)(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3nn4ccccc4c23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=C(C#N)C#N)cc(C)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3O)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NCCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2n[nH]c3cc(-c4cncc5ccccc45)ccc23)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(C(F)(F)F)cccc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(OCC(C)(C)C(N)=O)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)Nc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(C3CC3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cc(Br)cc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2ncn(CC(=O)c3c[nH]c4ccccc34)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCc1ccc(O)c(Br)c1)/C(Cc1cc(Br)c(O)c(-c2cc(C/C(=N/O)C(=O)NCCc3ccc(O)c(Br)c3)cc(Br)c2O)c1)=N\O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(Br)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3)Cc3cnc(Nc4ccc(CCN5CCN(C)CC5)cc4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cc(Nc2ncnc3[nH]nc(OCCN4CCCC4)c23)ccc1OCc1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(NC(=O)CCC(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(F)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCc1cccc(-c2nc(-c3ccc(F)cc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSCc2ccc(Cl)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CCNc2ccnc3oc4ccccc4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(-c5ccsc5)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3[nH]c(=O)ccc3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3[nH]c(C)c(C)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1nc(-c2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(NCc3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cccc(Nc2ccnc3[nH]c4ccccc4c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cnc2[nH]ncc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)N(C)CCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1ncc(C(=O)Nc2cc(C(=O)Nc3ccc(CN4CCN(C)CC4)c(C(F)(F)F)c3)ccc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1nc(-c2ccc(Cl)c(S(=O)(=O)Nc3cccc(F)c3C)c2)cnc1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1(CO)CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C/c1cc(O)ccc1O)C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2cc(C)ccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(C)Oc1cc2ncnc(Nc3ccc(C)c([N+](=O)[O-])c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(Nc2ncnc3[nH]c(C)c(C)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](Nc1ncnc2c1sc1ccccc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(cc1OC)Nc1ncn(C)c(=O)c1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2n[nH]c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)cc(-c2cc3cnc(N)nc3nc2NC(=O)NC(C)(C)C)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCCCN1C/C=C/C(=O)N1CCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccccc3)nc3cnc(Nc4ccc(N5CCN(C)CC5)cn4)cc23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2n[nH]c3cc(-c4ccc(F)cc4)ccc23)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc2cc(-c3nn(C(C)C)c4ncnc(N)c34)ccc2c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)Cc1ccc(-c2cc3c(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncnc3s2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1nnc(-c2c[nH]c(-c3ccccc3)c2-c2ccccc2)c2cn(-c3ccc(Cl)cc3)nc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)c1ccccc1-c1nnc(Cc2nc3ccccc3[nH]2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc(OCc3ccccc3)c(Cl)c2)c1C(=O)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCNc1ncc2cc(-c3c(Cl)cccc3Cl)c(=O)n(C)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(O)cc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2cc3c(cc2Nc2ccccc2)C(=O)NC3=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(c1cccc(Br)c1)c1nc(N)nc2[nH]c(Cc3ccccc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1cccc(-c2nn(C(C)C)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Br)c(O)c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(-c3c[nH]c4ccc(Br)cc34)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1ccc(-c2csc(N3N=C(c4ccc(N5CCCCC5)cc4)CC3c3ccc(Cl)cc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Oc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(C)c(C)c4)c(Cl)c3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])/C=C/c1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3ccc(C#Cc4cccs4)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)CCCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)Nc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(N)c(C(=O)Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1NC(=O)c1ccc(CN2CCN(C)CC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NCc3cccs3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(Nc3cccc(C(F)(F)F)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cc(Cl)c(O)c(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3[nH]nc(OCCN4CCC(O)CC4)c23)ccc1OCc1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN1CC(C(N)=O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCN(c2ccc(Nc3ncc(Cl)c(Oc4cccc(COc5no[n+]([O-])c5S(=O)(=O)c5ccccc5)c4)n3)c(OC)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ncc2ncnc(Nc3cccc(C)c3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5ccccn5)c(Cl)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(C(=O)Cn2c(-c3ccc(Cl)cc3)csc2=N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(Nc1ncccn1)c1ccc(Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CNc1c(Nc3ccc(Cl)cc3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NCc3cccnc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(Nc4cccc(Br)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1oc2cc3ncnc(Nc4ccc(OCc5ccccn5)cc4)c3cc2n1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CC(C(=O)NCCO)C3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)Nc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(Br)c(OC)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)c(F)c4F)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCOP(N)(=O)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(Cl)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C(N)=S)C(c3ccccc3F)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCC1CCNCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1B1OC(C)(C)C(C)(C)O1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)NCCc2ccccc2)[nH]c2ccccc12)NCCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(CO)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3nc(Nc4ccc(CN5CCCCC5)cc4)sc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cc1OCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cnc(NC2CC2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc3ccccc3s2)ccc1Nc1ncnc2cc(OC)c(OC)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1NCc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC(F)(F)F)c3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=[N+]=[N-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1C[C@H](F)[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCOCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)NCC(=O)O)c3ccccc3n2C)c(C(=O)NCC(=O)O)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc3c(NCc4ccccc4)ncnc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(S(N)(=O)=O)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNCC(O)COc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCOCC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2ccccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)c1cccc2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N(C)C)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2nc(C(C)(C)C)cc2NC(=O)Nc2ccc(OCCN3CCOCC3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCCN2CCN(C)CC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NCc3ccncc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(Sc2nc3ccccc3s2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3cccc(CO)c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)CCC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(N(C)c3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5[nH]ncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc2ncnc(Nc3ccc(OCc4ccccc4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCC(=O)ON[C@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H]1COc1nc(Nc2ccc(N3CCN(C(C)=O)CC3)cc2)nc2[nH]cc(-c3cncc(NC)n3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(CCCN1CCOCC1)c1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(NCCCN4CCN(C)CC4)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)COCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(C(F)(F)F)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4Cl)cc3)ncnc2cc1OCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(SC)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2c(SCC(=O)Nc3ccccc3Cl)nc3sc(C)c(C)c3c2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)O[C@@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2c3c4cc(OCCN(C)C)c(OCCN(C)C)cc4oc(=O)c3n3ccc4cc(O)c(OC)cc4c23)cc1O.O=C(O)C(F)(F)F.O=C(O)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(/N=N/c3ccc(F)c(Cl)c3)c2cc1OC>)>,
- ...]
-
-
-
-
-
-
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718b1b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718ba20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219e40> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219510> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a72194b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219d80> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a71e6cc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cfe34e0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cf485a0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cee94b0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bc00> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bcc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cbb9d20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823ccc3b10> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823c85be70> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cabdea0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-
-
-
-
-

Filter

-

Remove systems that couldn’t be featurized. Successful featurizations are stored in measurement.system.featurizations['last'] so we test for that key existence.

-
-
[14]:
-
-
-
from kinoml.datasets.groups import CallableGrouper, RandomGrouper
-grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')
-grouper.assign(dataset, overwrite=True, progress=False)
-groups = dataset.split_by_groups()
-if "invalid" in groups:
-    _invalid = groups.pop("invalid")
-    warn(f"{len(_invalid)} entries could not be featurized!. Possible errors:")
-    warn(f"{_invalid[0].system.featurizations}")
-
-
-
-
-
-

Groups

-

Cumulatively apply groups.

-
-
[15]:
-
-
-
groups[("valid",)] = groups.pop("valid")
-if GROUPS:
-    for grouper_str, grouper_kwargs in GROUPS:
-        grouper_cls = import_object(grouper_str)
-        ## We need this because lambda functions are not JSON-serializable
-        if issubclass(grouper_cls, CallableGrouper):
-            for k, v in list(grouper_kwargs.items()):
-                if k == "function" and isinstance(v, str):
-                    grouper_kwargs[k] = eval(v)  # sorry :)
-        ## End of lambda hack
-        grouper = grouper_cls(**grouper_kwargs)
-        for group_key in list(groups.keys()):
-            grouper.assign(groups[group_key], overwrite=True, progress=False)
-            for subkey, subgroup in groups.pop(group_key).split_by_groups().items():
-                groups[group_key + (subkey,)] = subgroup
-print("10 groups to show keys:", *list(groups.keys())[:10], sep="\n")
-
-
-
-
-
-
-
-
-10 groups to show keys:
-('valid', 'P00533', 'pIC50Measurement')
-('valid', 'P00533', 'pKdMeasurement')
-('valid', 'P00533', 'pKiMeasurement')
-
-
-
-
-

Write tensors to disk

-

Output files are written to _output/<PIPELINE>/<DATASET>/<GROUP>.parquet files.

-

Each parquet will contain at least two array-like objects. The dimensionality of the parquet files is built as (systems, X_or_y, ...). For example, the first X vector for the first system is accessed like parquet[0, "0"]. Notice how the 2nd index is a string! (awkward design).

-
    -
  • "0" (X, featurized systems). See DatasetProvider.to_awkward for more info.

  • -
  • "1" (y, associated measurements)

  • -
-

If X is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to "0", "1", "2", and so on. y is ALWAYS the last one in that list (accessible via data.fields)

-
-
[16]:
-
-
-
random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)
-
-parquets = []
-for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):
-    indices = random_grouper.indices(ds)
-    X, y = ds.to_awkward()
-    parquet = ak.zip([*X, y], depth_limit=1)
-    path = OUT / f"{'__'.join([g for g in group if g != 'valid'])}.parquet"
-    parquets.append(path)
-    ak.to_parquet(parquet, path)
-    # TODO: Missing indices?
-
-
-
-

Preview generated Parquet files:

-
-
[17]:
-
-
-
from kinoml.datasets.torch_datasets import AwkwardArrayDataset
-awk = AwkwardArrayDataset.from_parquet(parquets[0])
-awk
-
-
-
-
-
[17]:
-
-
-
-
-<Array [([0, ..., 0], [...], 6.14), ..., (...)] type='2826 * (var * int64, ...'>
-
-
-
-
[27]:
-
-
-
# X, y = awk[0]  # (multi-X) and y tensors for first system
-
-
-
-
-
[28]:
-
-
-
# X
-
-
-
-
-
[29]:
-
-
-
# y
-
-
-
-
-
[18]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 11:19:47.801843
-
-
-
-
-

Reproducibility logs

-
-
[19]:
-
-
-
# Free some memory first
-del awk, parquets, groups, dataset
-
-
-
-
-
[20]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T11:19:47.813247+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-numpy  : 1.26.0
-awkward: 2.4.6
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 11:19:47 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   66C    P8    22W /  80W |     49MiB / 16384MiB |     15%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[21]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[22]:
-
-
-
import json
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-
-
-
-

2. 💻Run the experiment

-
-

Train a model with PyTorch

-

Now, we will train a single model using only PyTorch.

-
    -
  1. Tensors are loaded from Parquet files generated in the features/ pipeline. Each Parquet becomes a Torch Dataset sublass.

  2. -
  3. Random splits are applied for train/test/(val).

  4. -
  5. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.

  6. -
  7. The loss is computed through the loss_adapter method in each measurement_type.

  8. -
  9. If validation is enabled, early stopping and LR schedulers are applied.

  10. -
-
-
-

✏Define hyper parameters

-
-
[23]:
-
-
-
# Parameters
-PARQUET_LOADER_CLS = "kinoml.datasets.torch_datasets.AwkwardArrayDataset"
-PARQUET_FILES = [
-    "kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet"]
-
-# Model -- specified with the full import path to the class object
-## Machine learning model that will be trained. Pass it as importable string.
-MODEL_CLS = "kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed"
-## Keyword arguments for the model initialization
-MODEL_KWARGS = {"hidden_shape": 350}  # input_shape is defined dynamically during training
-
-# OPTIMIZER
-## Optimizer class. Pass it as an importable string.
-OPTIMIZER = "torch.optim.Adam"
-## Keyword arguments for the optimizer
-OPTIMIZER_KWARGS = {"lr": 0.001, "eps": 1e-7, "betas": [0.9, 0.999]}
-
-# LOSS FUNCTION
-## Loss function class. Pass it as an importable string.
-LOSS = "torch.nn.MSELoss"
-## Keyword arguments for the loss function, if applicable
-LOSS_KWARGS = {}
-
-# TRAINING
-## Maximum number of epochs the training will run. In practice it might be less due to early stopping
-MAX_EPOCHS = 50
-## Enable real-time validation: this will split the test set into two halves: test and validation.
-## It will also enable LR scheduling and early stopping, based on the validation loss.
-VALIDATION = True
-## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)
-EARLY_STOPPING_KWARGS = {}
-
-# DATALOADER
-DATALOADER_CLS = "torch.utils.data.DataLoader"  # you can also use torch_geometric.data.DataLoader
-## Minibatch size
-BATCH_SIZE = 64
-## Proportion of the dataset that will be split into a test set. If VALIDATION=True,
-## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.
-TRAIN_TEST_SPLIT = 0.2
-## Whether to shuffle the indices before splitting
-SHUFFLE_SPLITS = True
-## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-## IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-COLLATE_FN = None
-
-# Plot bootstrapping
-## Bootstrapping iterations for the performance plots
-N_BOOTSTRAPS = 1
-## Proportion of the data that is sampled in each iteration
-BOOTSTRAP_SAMPLE_RATIO = 1
-
-# Output
-## Enable some extra output, like plots and logging statements.
-VERBOSE = False
-
-
-HERE = _dh[-1] #current path
-
-
-
-

⚠ From here on, you should not need to modify anything else to apply it to your own dataset 🤞

-
-

Define key paths for data and outputs:

-
-
[24]:
-
-
-
from pathlib import Path
-from datetime import datetime
-
-HERE = Path(HERE)
-
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-FEATURES_STORE = REPO /"examples"/"experiments"
-
-OUT = HERE / "_output" / datetime.now().strftime("%Y%m%d-%H%M%S")
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Features:      FEATURES_STORE = {FEATURES_STORE}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Features:      FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956
-
-
-
-
[25]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
[26]:
-
-
-
from collections import defaultdict
-from warnings import warn
-import sys
-import shutil
-
-from IPython.display import Markdown
-import numpy as np
-import pandas as pd
-import torch
-from torch.utils.data import DataLoader, SubsetRandomSampler
-from tqdm.auto import trange, tqdm
-
-from kinoml.ml.torch_loops import LRScheduler, EarlyStopping
-from kinoml.utils import seed_everything, import_object
-from kinoml.core import measurements as measurement_types
-from kinoml.core.measurements import null_observation_model
-from kinoml.analysis.metrics import performance
-from kinoml.analysis.plots import predicted_vs_observed
-
-# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 11:19:56.953210
-
-
-
-
-

Load featurized data and create observation models

-

We assume this path structure: $REPO/features/_output/<FEATURIZATION>/<DATASET>/<MEASUREMENT_TYPE>.npz

-
-
[27]:
-
-
-
DATASETS = []
-MEASUREMENT_TYPES = set()
-ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)
-for glob in PARQUET_FILES:
-    print(glob)
-    parquets = list(FEATURES_STORE.glob(glob))
-    if not parquets:
-        warn(f"⚠ Parquet glob `{glob}` did not match any files!")
-        continue
-
-    for parquet in parquets:
-        measurement_type = parquet.stem
-        dataset = parquet.parent.name
-
-        ds = ParquetLoaderCls.from_parquet(parquet)
-        ds.metadata = {
-            "dataset": dataset,
-            "measurement_type": measurement_type,
-        }
-        DATASETS.append(ds)
-        MEASUREMENT_TYPES.add(measurement_type)
-
-if not DATASETS:
-    raise ValueError("Provided `PARQUET_FILES` did not result in any valid datasets!")
-
-
-
-
-
-
-
-
-kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet
-
-
-

Now that we have all the data-dependent objects, we can start with the model-specific definitions.

-
-
[28]:
-
-
-
print(f"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.")
-
-
-
-
-
-
-
-
-Loaded 3 datasets with a total of 3000 measurements.
-
-
-
-
-

Prepare splits and dataloaders

-

Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed.

-
-
[29]:
-
-
-
dataloaders = {}
-for dataset in DATASETS:
-    key = dataset.metadata["measurement_type"]
-
-    # Generate random indices in situ
-    # If you need to provide indices from another source,
-    # replace this block to provide train_indices, test_indices
-    dataset_size = len(dataset)
-    indices = list(range(dataset_size))
-    split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))
-
-    if SHUFFLE_SPLITS :
-        np.random.shuffle(indices)
-    train_indices, test_indices = indices[split:], indices[split:]
-    if VALIDATION:
-        split2 = int(np.floor(len(test_indices) / 2))
-        test_indices, val_indices = test_indices[:split2], test_indices[split2:]
-    # End of indices creation
-
-    collate_fn = None
-    if COLLATE_FN:
-        # IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-        # COLLATE_FN can be an import string, or a eval-able lambda
-        # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-        try:
-            collate_fn = import_object(COLLATE_FN)
-        except ImportError:
-            collate_fn = eval(COLLATE_FN)
-
-    # Creating PT data samplers and loaders:
-    train_sampler = SubsetRandomSampler(train_indices)
-    test_sampler = SubsetRandomSampler(test_indices)
-
-    dataloaders[key] = {
-        "train": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),
-        "test": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),
-    }
-
-    if VALIDATION:
-        val_sampler = SubsetRandomSampler(val_indices)
-        dataloaders[key]["val"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)
-
-
-
-
-
-

Training loop

-
-
[30]:
-
-
-
%%capture cap --no-stderr
-ModelCls = import_object(MODEL_CLS)
-
-# Note that we assume all dataloaders will provide the
-# same kind of input shape, so we onlt test on one
-if ModelCls.needs_input_shape:
-    a_dataloader = dataloaders[next(iter(dataloaders.keys()))]["train"]
-    x_sample, _ = next(iter(a_dataloader))
-    MODEL_KWARGS["input_shape"] = ModelCls.estimate_input_shape(x_sample)
-
-nn_model = ModelCls(**MODEL_KWARGS)
-
-optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)
-loss_function = import_object(LOSS)()
-
-if VALIDATION:
-    lr_scheduler = LRScheduler(optimizer)
-    early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)
-
-train_loss_timeseries = []
-val_loss_timeseries = []
-
-range_epochs = trange(MAX_EPOCHS, desc="Epochs")
-for epoch in range_epochs:
-    train_loss = 0.0
-    val_loss = 0.0
-    for key, loader in tqdm(dataloaders.items(), desc="Datasets", leave=False):
-        try:
-            mtype_class = import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype_class = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        loss_adapter = mtype_class.loss_adapter(backend="pytorch")
-
-        # TRAIN
-        nn_model.train()
-        for x, y in tqdm(loader["train"], desc="Minibatches", leave=False):
-            # Clear gradients
-            optimizer.zero_grad()
-            # Obtain model prediction given model input
-            prediction = nn_model(x)
-            # apply observation model
-            loss = loss_adapter(prediction.view_as(y), y, loss_function)
-            # Pred. must match y shape!    ^^^^^^^^^^
-            # Obtain loss for the predicted output
-            train_loss += loss.item()
-            # Gradients w.r.t. parameters
-            loss.backward()
-            # Optimize
-            optimizer.step()
-
-
-        # VALIDATE
-        if VALIDATION:
-            nn_model.eval()
-            with torch.no_grad():
-                for x, y in tqdm(loader["val"], desc="Minibatches", leave=False):
-                    prediction = nn_model(x).view_as(y)
-                    loss = loss_adapter(prediction.view_as(y), y, loss_function)
-                    val_loss += loss.item()
-                    range_epochs.set_description(f"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})")
-
-    # LOG LOSSES
-    train_loss_timeseries.append(train_loss)
-
-    if VALIDATION:
-        val_loss_timeseries.append(val_loss)
-
-        # Adjust training if needed
-        lr_scheduler(val_loss)
-        early_stopping(val_loss)
-        if early_stopping.early_stop:
-            break
-
-
-
-

Save model to disk

-
-
[31]:
-
-
-
torch.save(nn_model, OUT / "nn_model.pt")
-
-
-
-
-
-

Evaluate model

-
-
[32]:
-
-
-
metrics = {}
-nn_model.train(False)
-for key, loader in dataloaders.items():
-    metrics[key] = {}
-    display(Markdown(f"#### {key}"))
-    for ttype, dataloader in loader.items():
-        display(Markdown(f"##### {ttype}"))
-        try:
-            mtype= import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        obs_model = mtype.observation_model(backend="pytorch")
-        x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]
-        prediction = obs_model(nn_model(x).view_as(y).detach().numpy())
-
-        perf_data = performance(prediction, y, verbose=False)
-        metrics[key][ttype] = {}
-        for perfkey, values in perf_data.items():
-            metrics[key][ttype][perfkey] = {"mean": values[0], "std": values[1]}
-        display(predicted_vs_observed(prediction, y, mtype))
-
-
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.1517±0.0156 95CI=(0.1304, 0.1815)
- MSE: 0.0405±0.0118 95CI=(0.0268, 0.0615)
-  R2: 0.9755±0.0085 95CI=(0.9592, 0.9863)
-RMSE: 0.1992±0.0284 95CI=(0.1637, 0.2481)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_3.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.1656±0.0273 95CI=(0.1315, 0.2145)
- MSE: 0.0552±0.0213 95CI=(0.0285, 0.0928)
-  R2: 0.9643±0.0180 95CI=(0.9329, 0.9850)
-RMSE: 0.2306±0.0444 95CI=(0.1689, 0.3046)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_6.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1420±0.0165 95CI=(0.1117, 0.1626)
- MSE: 0.0278±0.0053 95CI=(0.0188, 0.0354)
-  R2: 0.9825±0.0058 95CI=(0.9709, 0.9899)
-RMSE: 0.1661±0.0158 95CI=(0.1372, 0.1881)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_9.png -
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.1714±0.0509 95CI=(0.1068, 0.2590)
- MSE: 0.1316±0.1039 95CI=(0.0179, 0.2765)
-  R2: 0.9044±0.0820 95CI=(0.7492, 0.9884)
-RMSE: 0.3301±0.1505 95CI=(0.1338, 0.5255)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_13.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.1131±0.0241 95CI=(0.0756, 0.1492)
- MSE: 0.0230±0.0090 95CI=(0.0098, 0.0375)
-  R2: 0.9742±0.0188 95CI=(0.9458, 0.9931)
-RMSE: 0.1486±0.0307 95CI=(0.0988, 0.1936)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_16.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1971±0.0956 95CI=(0.0988, 0.3567)
- MSE: 0.1763±0.2036 95CI=(0.0145, 0.4992)
-  R2: 0.8773±0.1545 95CI=(0.5845, 0.9927)
-RMSE: 0.3484±0.2344 95CI=(0.1205, 0.7065)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_19.png -
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.0986±0.0028 95CI=(0.0949, 0.1041)
- MSE: 0.0232±0.0022 95CI=(0.0197, 0.0271)
-  R2: 0.9886±0.0011 95CI=(0.9868, 0.9905)
-RMSE: 0.1521±0.0072 95CI=(0.1405, 0.1645)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_23.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.0958±0.0037 95CI=(0.0894, 0.1012)
- MSE: 0.0209±0.0031 95CI=(0.0168, 0.0264)
-  R2: 0.9897±0.0015 95CI=(0.9866, 0.9917)
-RMSE: 0.1443±0.0103 95CI=(0.1297, 0.1625)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_26.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1014±0.0042 95CI=(0.0942, 0.1081)
- MSE: 0.0250±0.0030 95CI=(0.0210, 0.0307)
-  R2: 0.9876±0.0015 95CI=(0.9852, 0.9898)
-RMSE: 0.1579±0.0093 95CI=(0.1450, 0.1752)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-morgan-composition-EGFR_56_29.png -
-
-
-
-

Summary

-

kinase_metrics is a nested dictionary with these dimensions:

-
    -
  • measurement type

  • -
  • metric

  • -
  • mean & standard deviation

  • -
-
-
[33]:
-
-
-
import json
-
-display(Markdown(f"""
-### Configuration
-
-```json
-{json.dumps(_hparams, default=str, indent=2)}
-```
-"""))
-
-if VERBOSE:
-    display(Markdown(
-f"""
-### Kinase metrics
-
-```json
-{json.dumps(metrics, default=str, indent=2)}
-```
-"""))
-
-
-
-
-
-
-
-
-

Configuration

-
{
-  "VERSION": "2023.11.06",
-  "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR",
-  "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider",
-  "DATASET_KWARGS": {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "sample": 3000
-  },
-  "PIPELINES": {
-    "ligand": [
-      [
-        "kinoml.features.ligand.MorganFingerprintFeaturizer",
-        {
-          "nbits": 1024,
-          "radius": 2
-        }
-      ]
-    ],
-    "kinase": [
-      [
-        "kinoml.features.protein.AminoAcidCompositionFeaturizer",
-        {}
-      ]
-    ]
-  },
-  "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays",
-  "PIPELINES_AGG_KWARGS": {},
-  "FEATURIZE_KWARGS": {
-    "keep": false
-  },
-  "GROUPS": [
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7f8edabf6700>"
-      }
-    ],
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7f8f1c8dfdc0>"
-      }
-    ]
-  ],
-  "TRAIN_TEST_VAL_KWARGS": {
-    "idx_train": 0.8,
-    "idx_test": 0.1,
-    "idx_val": 0.1
-  },
-  "REPO": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml",
-  "OUT": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956",
-  "X": "[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ..., 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...], ...]",
-  "PARQUET_LOADER_CLS": "kinoml.datasets.torch_datasets.AwkwardArrayDataset",
-  "PARQUET_FILES": [
-    "kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet"
-  ],
-  "MODEL_CLS": "kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed",
-  "MODEL_KWARGS": {
-    "hidden_shape": 350,
-    "input_shape": [
-      1024,
-      20
-    ]
-  },
-  "OPTIMIZER": "torch.optim.Adam",
-  "OPTIMIZER_KWARGS": {
-    "lr": 0.001,
-    "eps": 1e-07,
-    "betas": [
-      0.9,
-      0.999
-    ]
-  },
-  "LOSS": "torch.nn.MSELoss",
-  "LOSS_KWARGS": {},
-  "MAX_EPOCHS": 50,
-  "VALIDATION": true,
-  "EARLY_STOPPING_KWARGS": {},
-  "DATALOADER_CLS": "torch.utils.data.DataLoader",
-  "BATCH_SIZE": 64,
-  "TRAIN_TEST_SPLIT": 0.2,
-  "SHUFFLE_SPLITS": true,
-  "COLLATE_FN": null,
-  "N_BOOTSTRAPS": 1,
-  "BOOTSTRAP_SAMPLE_RATIO": 1,
-  "VERBOSE": false,
-  "FEATURES_STORE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments"
-}
-
-
-
-
-
-
-
[34]:
-
-
-
for mtype_name in MEASUREMENT_TYPES:
-    mtype_metrics = metrics.get(mtype_name)
-    if not mtype_metrics:
-        continue
-
-    display(Markdown(f"#### {mtype_name}"))
-
-    # flatten dict a bit: from dict["test"]["r2"]["mean"] to dict["test"]["r2_mean"]
-    flattened = {}
-    for ttype, scores in mtype_metrics.items():
-        flattened[ttype] = {}
-        for score, stats in scores.items():
-            for stat, value in stats.items():
-                flattened[ttype][f"{score}_{stat}"] = value
-
-    df = pd.DataFrame.from_dict(flattened, orient="index")
-    with pd.option_context("display.float_format", "{:.3f}".format, "display.max_rows", len(df)):
-        display(
-            df.style.background_gradient(subset=["r2_mean"], low=0, high=1, vmin=0, vmax=1)
-              .apply(lambda x: ['font-weight: bold' for v in x], subset=["r2_mean"])
-        )
-
-
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1713540.0508820.1316020.1038630.9044250.0820380.3301010.150450
test0.1131240.0241330.0230220.0090330.9742140.0188320.1485860.030724
val0.1971480.0956390.1763050.2036290.8773300.1544570.3483690.234402
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.0986230.0027750.0231800.0021910.9885600.0011480.1520800.007163
test0.0957730.0037270.0209170.0030520.9896840.0015410.1442600.010307
val0.1014490.0042100.0250050.0029570.9876120.0015110.1578570.009277
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1517230.0155510.0404710.0118480.9755260.0084650.1991620.028375
test0.1656390.0273110.0551620.0213140.9643200.0179500.2306250.044431
val0.1420100.0164600.0278290.0052510.9824790.0057890.1660690.015818
-
-
-
[35]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 11:22:14.451640
-
-
-
-
-

Save reports to disk

-
-
[36]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T11:22:14.457489+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-numpy  : 1.26.0
-json   : 2.0.9
-torch  : 2.1.0
-kinoml : 0+unknown
-awkward: 2.4.6
-pandas : 2.1.1
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 11:22:14 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   67C    P8    22W /  80W |     49MiB / 16384MiB |     25%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[37]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[38]:
-
-
-
import json
-
-with open(OUT / "performance.json", "w") as f:
-    json.dump(metrics, f, default=str, indent=2)
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-

And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb b/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb deleted file mode 100644 index 59edab18..00000000 --- a/docs/_build/html/notebooks/kinase-ligand-informed-morgan-composition-EGFR.ipynb +++ /dev/null @@ -1,8183 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer` and `kinoml.features.protein.AminoAcidCompositionFeaturizer` which means that we will use the ligand and protein information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ],\n", - " \"kinase\": [[\"kinoml.features.protein.AminoAcidCompositionFeaturizer\", {}]],\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:18:57.807233\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "808b3397449e46929074b8d4fa756ae3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.AminoAcidCompositionFeaturizer` with options `{}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:19:47.801843\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:19:47.813247+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:19:47 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 66C P8 22W / 80W | 49MiB / 16384MiB | 15% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:19:56.953210\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "ModelCls = import_object(MODEL_CLS)\n", - "\n", - "# Note that we assume all dataloaders will provide the\n", - "# same kind of input shape, so we onlt test on one\n", - "if ModelCls.needs_input_shape:\n", - " a_dataloader = dataloaders[next(iter(dataloaders.keys()))][\"train\"]\n", - " x_sample, _ = next(iter(a_dataloader))\n", - " MODEL_KWARGS[\"input_shape\"] = ModelCls.estimate_input_shape(x_sample)\n", - "\n", - "nn_model = ModelCls(**MODEL_KWARGS)\n", - "\n", - "optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)\n", - "loss_function = import_object(LOSS)()\n", - "\n", - "if VALIDATION:\n", - " lr_scheduler = LRScheduler(optimizer)\n", - " early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)\n", - "\n", - "train_loss_timeseries = []\n", - "val_loss_timeseries = []\n", - "\n", - "range_epochs = trange(MAX_EPOCHS, desc=\"Epochs\")\n", - "for epoch in range_epochs:\n", - " train_loss = 0.0\n", - " val_loss = 0.0\n", - " for key, loader in tqdm(dataloaders.items(), desc=\"Datasets\", leave=False):\n", - " try:\n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype_class = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " loss_adapter = mtype_class.loss_adapter(backend=\"pytorch\")\n", - " \n", - " # TRAIN\n", - " nn_model.train()\n", - " for x, y in tqdm(loader[\"train\"], desc=\"Minibatches\", leave=False):\n", - " # Clear gradients\n", - " optimizer.zero_grad()\n", - " # Obtain model prediction given model input\n", - " prediction = nn_model(x)\n", - " # apply observation model\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " # Pred. must match y shape! ^^^^^^^^^^\n", - " # Obtain loss for the predicted output\n", - " train_loss += loss.item()\n", - " # Gradients w.r.t. parameters\n", - " loss.backward()\n", - " # Optimize\n", - " optimizer.step()\n", - " \n", - " \n", - " # VALIDATE\n", - " if VALIDATION:\n", - " nn_model.eval()\n", - " with torch.no_grad():\n", - " for x, y in tqdm(loader[\"val\"], desc=\"Minibatches\", leave=False):\n", - " prediction = nn_model(x).view_as(y)\n", - " loss = loss_adapter(prediction.view_as(y), y, loss_function)\n", - " val_loss += loss.item()\n", - " range_epochs.set_description(f\"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})\")\n", - " \n", - " # LOG LOSSES\n", - " train_loss_timeseries.append(train_loss)\n", - " \n", - " if VALIDATION:\n", - " val_loss_timeseries.append(val_loss)\n", - "\n", - " # Adjust training if needed\n", - " lr_scheduler(val_loss)\n", - " early_stopping(val_loss)\n", - " if early_stopping.early_stop:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Save model to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "torch.save(nn_model, OUT / \"nn_model.pt\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Evaluate model" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1517±0.0156 95CI=(0.1304, 0.1815)\n", - " MSE: 0.0405±0.0118 95CI=(0.0268, 0.0615)\n", - " R2: 0.9755±0.0085 95CI=(0.9592, 0.9863)\n", - "RMSE: 0.1992±0.0284 95CI=(0.1637, 0.2481)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1656±0.0273 95CI=(0.1315, 0.2145)\n", - " MSE: 0.0552±0.0213 95CI=(0.0285, 0.0928)\n", - " R2: 0.9643±0.0180 95CI=(0.9329, 0.9850)\n", - "RMSE: 0.2306±0.0444 95CI=(0.1689, 0.3046)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1420±0.0165 95CI=(0.1117, 0.1626)\n", - " MSE: 0.0278±0.0053 95CI=(0.0188, 0.0354)\n", - " R2: 0.9825±0.0058 95CI=(0.9709, 0.9899)\n", - "RMSE: 0.1661±0.0158 95CI=(0.1372, 0.1881)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1714±0.0509 95CI=(0.1068, 0.2590)\n", - " MSE: 0.1316±0.1039 95CI=(0.0179, 0.2765)\n", - " R2: 0.9044±0.0820 95CI=(0.7492, 0.9884)\n", - "RMSE: 0.3301±0.1505 95CI=(0.1338, 0.5255)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1131±0.0241 95CI=(0.0756, 0.1492)\n", - " MSE: 0.0230±0.0090 95CI=(0.0098, 0.0375)\n", - " R2: 0.9742±0.0188 95CI=(0.9458, 0.9931)\n", - "RMSE: 0.1486±0.0307 95CI=(0.0988, 0.1936)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1971±0.0956 95CI=(0.0988, 0.3567)\n", - " MSE: 0.1763±0.2036 95CI=(0.0145, 0.4992)\n", - " R2: 0.8773±0.1545 95CI=(0.5845, 0.9927)\n", - "RMSE: 0.3484±0.2344 95CI=(0.1205, 0.7065)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0986±0.0028 95CI=(0.0949, 0.1041)\n", - " MSE: 0.0232±0.0022 95CI=(0.0197, 0.0271)\n", - " R2: 0.9886±0.0011 95CI=(0.9868, 0.9905)\n", - "RMSE: 0.1521±0.0072 95CI=(0.1405, 0.1645)\n" - ] - }, - { - "data": { - "image/png": "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Q2sblvz+OH0MERE5hAp/D42IiBwDA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA42IiBwCA43IjiQkJKBp06aa98OHD8eLL75o9TquXbsGmUyG06dPW33fRPow0IjM4Nmp511dXVG7dm28++67Rs0MXh6LFy/GypUrjWrLECJHx+ljiMwkOjoaK1asQEFBAfbv34833ngDubm5WLp0qVa7goICsw2ErFAozLIdIkfAMzQiM5HL5VAqlQgJCcGgQYMwePBgbNiwQXOZcPny5ahduzbkcjmEEMjOzsabb74Jf39/+Pj4oEuXLvjtt9+0tjl37lwEBATA29sbI0eORF5entbnxS85qlQqzJs3D3Xr1oVcLkeNGjUwZ84cANDMtNCsWTPIZDJ06tRJs96KFSvQsGFDuLu7IywsrMQcXceOHUOzZs3g7u6Oli1bSnrGZKq4eIZGZCEeHh4oKCgAAFy+fBn/+9//sHbtWjg7OwMAevfuDV9fX2zZsgUKhQJffvklunbtiosXL8LX1xf/+9//EB8fj88//xzPP/88vv32W3z66aeoXbu23n1OmzYNy5Ytw8KFC9G+fXukp6fjjz/+APA0lFq1aoUdO3agUaNGcHNzAwAsW7YM8fHxSEpKQrNmzXDq1CmMGjUKXl5eiI2NRW5uLvr06YMuXbpg9erVSE1NxcSJEy380yMygUlDGhORltjYWPHCCy9o3h89elT4+fmJgQMHivj4eOHq6ioyMzM1n+/cuVP4+PiIvLw8re3UqVNHfPnll0IIIaKiosRbb72l9Xnr1q1FkyZNdO43JydHyOVysWzZMp01qkd7P3XqlNbykJAQsWbNGq1lH330kYiKihJCCPHll18KX19fkZubq/l86dKlOrdFZEu85EhkJj///DMqVaoEd3d3REVFoUOHDvjss88AADVr1kS1atU0bU+ePImHDx/Cz88PlSpV0rxSU1Nx5coVAMD58+cRFRWltY/i7591/vx55Ofno2vXrkbXfOfOHaSlpWHkyJFadcyePVurjiZNmsDT09OoOohshZccicykc+fOWLp0KVxdXREUFKTV8cPLy0urrUqlQmBgIPbs2VNiO5UrVzZp/x4eHmVeR6VSAXh62bF169Zan6kvjQrOMEV2goFGZCZeXl6oW7euUW2bN2+OjIwMuLi4oFatWjrbNGzYEEeOHMGwYcM0y44cOaJ3m/Xq1YOHhwd27tyJN954o8Tn6ntmRUVFmmUBAQEIDg7G1atXMXjwYJ3bDQ8Px7fffovHjx9rQtNQHUS2wkuORDbQrVs3REVF4cUXX8Svv/6Ka9eu4dChQ5g+fTpOnDgBAJg4cSKWL1+O5cuX4+LFi4iPj8e5c+f0btPd3R1TpkzBe++9h3//+9+4cuUKjhw5gm+++QYA4O/vDw8PD2zduhV//vknsrOzATx9WDsxMRGLFy/GxYsXcebMGaxYsQILFiwAAAwaNAhOTk4YOXIkUlJSsGXLFnzyyScW/gkRlR0DjcgGZDIZtmzZgg4dOuD1119H/fr18eqrr+LatWsICAgAALzyyiuYOXMmpkyZghYtWuD69esYM2aMwe3OmDEDkydPxsyZM9GwYUO88soryMzMBAC4uLjg008/xZdffomgoCC88MILAIA33ngDX3/9NVauXInIyEh07NgRK1eu1HTzr1SpEjZt2oSUlBQ0a9YMH3zwAebNm2fBnw6RaWSCF8iJiMgB8AyNiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcAgONiIgcwv8DrR4MUvP4LasAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.0958±0.0037 95CI=(0.0894, 0.1012)\n", - " MSE: 0.0209±0.0031 95CI=(0.0168, 0.0264)\n", - " R2: 0.9897±0.0015 95CI=(0.9866, 0.9917)\n", - "RMSE: 0.1443±0.0103 95CI=(0.1297, 0.1625)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1014±0.0042 95CI=(0.0942, 0.1081)\n", - " MSE: 0.0250±0.0030 95CI=(0.0210, 0.0307)\n", - " R2: 0.9876±0.0015 95CI=(0.9852, 0.9898)\n", - "RMSE: 0.1579±0.0093 95CI=(0.1450, 0.1752)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.AminoAcidCompositionFeaturizer\",\n", - " {}\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8edabf6700>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f8f1c8dfdc0>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-morgan-composition-EGFR/_output/20231106-111956\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ..., 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-morgan-composition-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2__kinase__AminoAcidCompositionFeaturizer/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 1024,\n", - " 20\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1713540.0508820.1316020.1038630.9044250.0820380.3301010.150450
test0.1131240.0241330.0230220.0090330.9742140.0188320.1485860.030724
val0.1971480.0956390.1763050.2036290.8773300.1544570.3483690.234402
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.0986230.0027750.0231800.0021910.9885600.0011480.1520800.007163
test0.0957730.0037270.0209170.0030520.9896840.0015410.1442600.010307
val0.1014490.0042100.0250050.0029570.9876120.0015110.1578570.009277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1517230.0155510.0404710.0118480.9755260.0084650.1991620.028375
test0.1656390.0273110.0551620.0213140.9643200.0179500.2306250.044431
val0.1420100.0164600.0278290.0052510.9824790.0057890.1660690.015818
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:22:14.451640\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:22:14.457489+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "torch : 2.1.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:22:14 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 67C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.html b/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.html deleted file mode 100644 index 7f3c870a..00000000 --- a/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.html +++ /dev/null @@ -1,9145 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kinase informed SMILES experiment — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

Kinase informed SMILES experiment

-

In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use kinoml.features.ligand.OneHotSMILESFeaturizer to featurize the ligand and kinoml.features.protein.OneHotEncodedSequenceFeaturizer to featurize the kinase. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment.

-
-

1. Featurize the dataset

-

Any machine learning model will expect tensorial representations of the chemical data. Step 1 of this notebook provides a workflow to achieve such goal.

-

kinoml.dataset.DatasetProvider objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of kinoml.core.BaseMeasurement, each containing a set of .values and a some extra metadata, like the system objects to be featurized here.

-

In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).

-

Available featurizers can be found under kinoml.features.

-
-
[46]:
-
-
-
# If this is the template file (and not a copy) and you are introducing changes,
-# update VERSION with the current date (YYYY.MM.DD)
-VERSION = "2023.11.06"
-
-
-
-
-
[47]:
-
-
-
#fuction to obtain current working path to ouput results
-def main():
-    parameters["HERE"] = str(nbout.parent.resolve())
-
-
-
-
-
[48]:
-
-
-
HERE = _dh[-1] #current path
-
-
-
-
-

✏ Define hyper parameters

-

Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc…)

-
-
[49]:
-
-
-
# Parameters
-DATASET_CLS = "kinoml.datasets.chembl.ChEMBLDatasetProvider"
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv", #your dataset
-    "sample": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number
-}
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "sample": 1000,
-}
-PIPELINES = {
-    "ligand": [
-        ["kinoml.features.ligand.OneHotSMILESFeaturizer", {}],
-        ["kinoml.features.core.PadFeaturizer", {"shape": "auto"}],
-    ],
-    "kinase": [
-        ["kinoml.features.protein.OneHotEncodedSequenceFeaturizer", {}],
-        ["kinoml.features.core.PadFeaturizer", {"shape": "auto"}],
-    ]
-}
-PIPELINES_AGG = "kinoml.features.core.TupleOfArrays"
-PIPELINES_AGG_KWARGS = {}
-FEATURIZE_KWARGS = {"keep": False}
-GROUPS = [
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: measurement.system.protein.name"},
-    ],
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: type(measurement).__name__"},
-    ],
-]
-TRAIN_TEST_VAL_KWARGS = {"idx_train": 0.8, "idx_test": 0.1, "idx_val": 0.1}
-
-
-
-

⚠ If you are adapting this notebook to your own dataset, you should not need to modify anything from here 🤞

-
-

Define key paths for data and outputs:

-
-
[50]:
-
-
-
from pathlib import Path
-
-HERE = Path(HERE)
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-# Generate paths for this pipeline
-featurizer_path = []
-for name, branch in PIPELINES.items():
-    featurizer_path.append(name)
-    for clsname, kwargs in branch:
-        clsname = clsname.rsplit(".", 1)[1]
-        kwargs = [f"{k}={''.join(c for c in str(v) if c.isalnum())}" for k,v in kwargs.items()]
-        featurizer_path.append("_".join([clsname] + kwargs))
-
-OUT = HERE / "_output"  / "__".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider
-
-
-
-
[51]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
-

Setup is finished, start working

-
-
[52]:
-
-
-
from warnings import warn
-import os
-import sys
-from pathlib import Path
-from datetime import datetime
-
-import numpy as np
-import awkward as ak
-
-from kinoml.utils import seed_everything, import_object
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 11:06:10.080592
-
-
-
-
-

Load raw data

-
-

This import_object function allows us to take a str containing a Python import path (e.g. kinoml.datasets.chembl.ChEMBLDatasetProvider) and obtain the imported object directly. That’s how we can encode classes in JSON-only papermill inputs.

-

See the help message import_object? for more info. Note that you need an OE license

-
-
-
[53]:
-
-
-
#make sure you have your open eye license in the same directory as your notebook!
-dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)
-dataset
-
-
-
-
-
-
-
-
-
-
-
[53]:
-
-
-
-
-<ChEMBLDatasetProvider with 1000 measurements (pIC50Measurement=947, pKdMeasurement=20, pKiMeasurement=33), and 1000 systems (KLIFSKinase=1, Ligand=1000)>
-
-
-
-
[54]:
-
-
-
#visualise your dataset!
-
-df = dataset.to_dataframe()
-df
-
-
-
-
-
[54]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
-

1000 rows × 4 columns

-
-
-
-
-

Featurize

-

Now, let’s convert the data set into somehting that is ML-readable!

-
-
[55]:
-
-
-
# build pipeline
-from kinoml.features.core import Pipeline
-
-pipelines = []
-for key, pipeline_instructions in PIPELINES.items():
-    print(f"Building featurizer `{key}` with instructions:")
-    featurizers = []
-    for featurizer_import_str, kwargs in pipeline_instructions:
-        kwargs = kwargs or {}  # make sure empty values (None, "") turn into {} so we can do **kwargs below
-        print(f"  Instantiating `{featurizer_import_str}` with options `{kwargs}`")
-        featurizers.append(import_object(featurizer_import_str)(**kwargs))
-    pipelines.append(Pipeline(featurizers))
-print("Resulting pipelines:", *pipelines)
-aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)
-print("Aggregated pipelines:", aggregated_pipeline)
-
-
-
-
-
-
-
-
-Building featurizer `ligand` with instructions:
-  Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`
-  Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`
-Building featurizer `kinase` with instructions:
-  Instantiating `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` with options `{}`
-  Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`
-Resulting pipelines: <Pipeline([OneHotSMILESFeaturizer, PadFeaturizer])> <Pipeline([OneHotEncodedSequenceFeaturizer, PadFeaturizer])>
-Aggregated pipelines: <TupleOfArrays([Pipeline([OneHotSMILESFeaturizer, PadFeaturizer]), Pipeline([OneHotEncodedSequenceFeaturizer, PadFeaturizer])])>
-
-
-
-
[56]:
-
-
-
%%capture --no-display
-# to hide warnings
-
-aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);
-
-
-
-
-
[56]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2c(Nc3cccc(Br)c3)ncnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccnc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)CCC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nnc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)NNc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCn1c2ccc(OC)cc2c2c(Nc3cccc(Br)c3)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc4c(cnn4Cc4ccccc4)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C4CCCCC4)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N1CCC(N(C)C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(NCc3ccc(F)cc3)c2cc1OCC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(NCCCN4CCN(C)CC4)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Br)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCCC1)N1CCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2cc3c(Nc4cccc(Br)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1)OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cc2c(Nc3ccccc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OOC2(CCC(C(=O)Nc3ccc4ncnc(Nc5cccc(Cl)c5)c4c3)CC2)OO1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(C#C[C@](C)(O)Cc3ccccc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CBr)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cc(F)c(F)cc1Cl)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(O)cc2)C(=O)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2nc(C)c(C3C(C#N)=C(N)N(c4cccnc4)C4=C3C(=O)CCC4)c2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(CCc3cccc4ccccc34)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CNc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc([N+](=O)[O-])c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN1CCOCC1)C(=O)c1ccc(OCc2ccccc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCSC(=S)N1CCN(c2ccccc2)CC1)Nc1cccc(NC(=O)c2ccccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C)C(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2cc(O)c(O)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3cc(-c4ccc(Cl)cc4)sc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc(-c2cncc(C#N)c2Nc2ccc(F)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccccc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C4CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccc(CC(=O)NCCO)cc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccc4Cl)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)NS(=O)(=O)c2ccc(Br)cc2)c(Cl)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCc1ccccc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)C2CC2)ccc1Nc1ncc(Cl)c(Nc2ccccc2NC(C)=O)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)N1CCCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2ccc(-c3nn(C(C)C)c4ncnc(N)c34)cc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(N/N=C(\C)c3ccc(C)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(N)C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ccnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3n[nH]c4ccccc34)cc(N3CCN(C(C)=O)CC3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1ccc2nccc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccnc2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC(OC)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCSc1nc(-c2ccc(F)c(C(F)(F)F)c2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCN4CCOCC4)nc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC(=O)CSc1nc2cc(OC)ccc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2nnc(Cc3ccncc3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cncnc2)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NC(=O)/C=C/c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NCc4ccccc4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccccc4)c(Cl)c3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)c(F)c4F)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCCNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CO)NC1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1)C(=O)N[C@H](C)C(=O)OC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C/[N+](=O)[O-])ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc2nc(NC(=O)c3cccc(C(F)(F)F)c3)n([C@H]3CC[C@H](O)CC3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Oc3cccc(Cl)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(n1)[nH]c1cccc(Sc3cccc4ccccc34)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(OC)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)NC(Cc1c(SSc2[nH]c3ccccc3c2CC(NC(C)=O)C(=O)NCc2ccccc2)[nH]c2ccccc12)C(=O)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1nc(N)nc2[nH]c3cc(C)c(O)cc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1(CCN)CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1c(C)nn(-c2ccccc2)c1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=[N+]=[N-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C2=C(c3c[nH]c4ccccc34)C(=O)NC2=O)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCC(N5CCN(C)CC5)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1C[C@H](COC)[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(O)CCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3ccc(Cl)cc3Cl)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4ccccc34)nc(-c3c[nH]nn3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CCN1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N(CCCl)CCN/N=N/c2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccccc1)cn2-c1ccc(CNCCO)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc(Cc4ccccn4)cc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1c(OCCN2CCCCC2)c2ccccc2c2oc3c(c12)C(=O)c1ccccc1C3=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(-c2cn3ccnc3c(NCc3ccncc3)n2)c1)Nc1cccc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc4[nH]c(C)cc4c3F)ncnc2cc1OCCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(NCc4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(O)c(O)c1)c1ccc(O[C@@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)c(O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3[nH]ccc3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cc2ncnc(Nc3cccc(Br)c3)c2cc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(/C=C/C(=N/NC(N)=S)c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(N(C)c3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CN(C)[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1Cl)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CC[C@H](O)[C@H](F)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NC(=O)/C=C/CN(C)C)cc1Nc1ncc(Cl)c(-c2cnn3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1cc(Nc2nccc(-c3c(-c4cccc(C(=O)Nc5c(F)cccc5F)c4)nc4ccccn34)n2)c(OC)cc1N1CCC(N2CCN(S(C)(=O)=O)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCN(CC#N)Cc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(/C=N/NC(=O)N2CCc3ncnc(Nc4cccc(C(F)(F)F)c4)c3C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)ccc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(Nc2ccc(S(=O)(=O)Nc3ncccn3)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4ccc(NC(=S)NCCCN5CCOCC5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc2c(F)c(Nc3ccc(Br)cc3Cl)c(C(=O)NOCCO)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)S(=O)(=O)c1ccccc1Nc1nc(N/N=C/c2ccc(OC(F)(F)F)cc2)ncc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc2c(NCc3ccccc3)nc(NCCO)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4-c4ccc(F)cc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(-c4ccccc4)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3cc[nH]c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN=C(S)NNc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(OCC(C)(C)C(N)=O)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl)ccc2c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(Nc3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCC#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1cc[nH]c(=O)c1C(=O)Nc1ccc(N2CCC(C)CC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCOP(N)(=O)N(CCCl)CCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(=O)Nc1cccc(Nc2nccc(-c3cccnc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc4ccccc4c3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccc([N+](=O)[O-])cc1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)C(=O)Nc1nc(Nc2ccccc2)c2c(n1)[nH]c1cccc(Cl)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCC)c(NC(=O)/C=C/CN(C)C4CC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(-c3ccccc3OC)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)O[C@@]12CO[C@@H]1C[C@H](O)[C@@]1(C)C(=O)[C@H](O)C3=C(C)[C@@H](OC(=O)[C@H](O)[C@@H](NC(=O)OC(C)(C)C)c4ccccc4)C[C@@](O)([C@@H](OC(=O)c4ccccc4)[C@@H]12)C3(C)C.O.O.O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CCOc2ccc3c(c2)c(CCN)cn3CCCCCc2ccc(SC)cc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccc(C(=O)O)cc3)c3ccccc3n2C)c(C(=O)Nc2ccc(C(=O)O)cc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3cc(-c4ccccc4)ncn3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)C(c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2c(C)nc(Nc3nc(O)cc(CSc4nnnn4-c4ccccc4)n3)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[C@@H]1C(=O)N(C)c2cnc(Nc3ccc(C(=O)NC4CCN(C)CC4)cc3OC)nc2N1C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(/C=C/c4cc(C)cc(C)c4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Br)c3C)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(-c3ccc(NCCN)nc3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1ncc(C(=O)NC2CCN(C)CC2)c(NC2CCCC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1cnc2c(Nc3cccc(Cl)c3)nc(N[C@@H]3CCCC[C@@H]3N)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnc3cc(OC(C)C)c4c(c23)OCCO4)cc1C#N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Oc3ccccc3)cc1)cn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)n1nc(-c2ccc(Cl)cc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3[nH]cnc23)ccc1-c1nc2ccccc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)NCC(O)CO)c3ccccc3n2C)c(C(=O)NCC(O)CO)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1cncc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1cn2ncnc(Nc3ccc(F)c(Cl)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccc(OC)c(OC)c3)n2)c(OC)cc1N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(Cl)c(F)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(=Cc1coc2nc(=N)[nH]c(N)c12)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc34)n2)c(OC)cc1S(=O)(=O)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(/C=C/c2ccccc2)=N\NC(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc(Br)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(-c2nn(C3CCCCC3)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)Oc1cc(/C=C(\C#N)C(=N)S)cc(C(C)(C)C)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(CCCCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Cl)c4)c3c2)o1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(C#CC5CCCN5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(O)c([N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(CN(C)C)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(=O)c2ccc(O)c(O)c2)cc(CSCc2ccccc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(Cc4ccccn4)cc3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)c1cccc(NC(=O)c2cc3ccccc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc(-c2ccc(OC(F)(F)F)c(NC(=O)Nc3ccncc3)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(F)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(C(=O)c2cc(C)c(/C=C3\C(=O)Nc4ncnc(Nc5ccc(F)c(Cl)c5)c43)[nH]2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(F)c(C=O)c(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2ccc3c(c2)NC(=O)/C3=C\c2[nH]c3c(c2CCC(=O)O)CCCC3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(Cn2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCc2c(sc3ncnc(N[C@H](CO)c4ccccc4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3ccc(NCc4ccc5c(c4)OCCCCO5)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Cl)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(OCC(F)(F)F)ccnc1COc1ccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCCc2cc(Br)c(O)c(c2)Oc2c(Br)cc(cc2Br)CCNC(=O)/C(=N/O)Cc2cc(Br)c(O)c(c2)Oc2c(Br)cc(cc2Br)C/C1=N\O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(/C=C/c4cc(OC)cc(OC)c4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cc2nc3cc(Nc4ncnc5nn6ccccc6c45)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccccc3)n2)c(OC)cc1N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCn1nc(-c2ccc(OCC)c(OC)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(Br)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@H]1COc1nc(Nc2ccc(N3CCN(C(C)=O)CC3)cc2)nc2[nH]cc(-c3cncc(NC)n3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)N(CCCl)N=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21)S(C)(=O)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(F)cc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ncc2ncnc(Nc3ccccc3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1/C(=C\c2ccc(O)c(O)c2)Oc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(/C=C2\C(=O)Nc3ccc(C(=O)O)cc32)[nH]c2c1CCCC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc2c(cc1[N+](=O)[O-])OCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1Cl)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCN4CCOCC4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(F)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=C2\CCC/C(=C\c3cc(OC)cc(OC)c3)C2=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2cnnc(Nc3ccc(Cl)cc3F)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(N(C)c2ccc(OC(C)C)cc2)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cc[nH]n2)nc(-c2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(NC(=O)CCC(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc(O)cc(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(NC(=O)Nc4ccc(Cl)c(C(F)(F)F)c4)cc3)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C(N)=O)c(Cl)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(=O)O)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(CSC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-n2cc(NC(=O)c3ccc(NS(=O)(=O)c4ccccc4)cc3)cn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2ncnc(Nc3cccc(Br)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)/C(C#N)=C/c3ccc(F)cc3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2ccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)cc2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(O)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21)S(C)(=O)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)c1ccccc1Nc1nc(N)nc2[nH]c(Cc3ccc(Cl)cc3Cl)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3nc(Nc4ccc(S(N)(=O)=O)cc4)sc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(-c2cnc(Nc3cc(Cl)cc(Cl)c3)nc2NC2CCC(N(C)C)CC2)on1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4cc(-c5ccc[nH]5)sc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccccc1-c1nc(NCc2cccnc2)c2ccccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=[N+]=[N-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2ncnc3ccncc23)c1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)Cc1ccncc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc(C#N)c(Nc2ccc(OCc3ccccn3)c(Cl)c2)c1C#Cc1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4cccc(F)c4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(C)Cc3cnc(Nc4ccc(N5CCCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1ccc(F)c(C)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3cc(Oc4ccccc4)ncn3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cc2c(NCc3ccncc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Br)c3)c2cc1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(NC(=O)CCCCCC(=O)NO)ccc2OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)NCCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCC(=O)Nc1ccc2nccc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCC#CC(=O)Nc2cc3c(Nc4ccc(F)c(Cl)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc4c(cnn4Cc4ccccc4)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1CCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCc1ccccc1)c1c(SSc2[nH]c3ccccc3c2C(=O)NCc2ccccc2)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC)c3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=N/Nc2ncc(Cl)c(Nc3ccccc3S(=O)(=O)C(C)C)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc(NC(=O)Nc3ccccn3)cc(OC)c2OC)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)c(F)c3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3cccc(C(=O)NCCN(C)C)c3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1nn(-c2ccc(C)cc2)cc1C(=O)c1c(C)[nH]c(-c2ccccc2)c1-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCC(=O)Nc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1NC(C)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc(-c2cncc(C#N)c2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCN(CCS(C)(=O)=O)Cc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4ccc(F)cc4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc([N+](=O)[O-])cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccccc1)nn2-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5ccccn5)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(/C=C/c4cc(Cl)cc(Cl)c4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=NC=C2N=CN=C(Nc3cccc(C)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CCO)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)CC(=C\c3nc(C)c(C)nc3C)/C2=N/O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C#N)cc3)ncnc2cc1OCCCN1CCC(c2ccccc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)cc3Cl)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1cc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(Cl)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2cc(-c3[nH]c(SCCNC(=O)CC)nc3-c3ccccc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)c2c(c1)Oc1ncnc(Nc3cccc(Br)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4nccs4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3ccc(N4CCN(C)CC4)cc3OC)ncc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(C(=O)CC)CC4)cc3OC)ncc2SC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4cccc(Cl)c4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)Cn1/c(=N/C(=O)c2cc(F)cc(-c3cccnc3)c2)[nH]c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2csc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1cnn2-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cc(OC)c(OC)c(OC)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12)N(C)C(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc(S(N)(=O)=O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)c2ccnc3ccc(C(F)(F)F)cc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCN(C)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCC(O)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(COc3no[n+]([O-])c3S(=O)(=O)c3ccccc3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCN/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)CCNS(=O)(=O)c1cccc2c(N(C)C)cccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=C(CCN1CCCCC1)c1ccc(OCc2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCNN1C(=O)c2c(c3c4cccc(O)c4n(C4OC(CO)C(O)C(O)C4O)c3c3[nH]c4c(O)cccc4c23)C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)c1cnc2ccc(C(=O)/C=C/c3ccc(Cl)cc3)cc2c1Nc1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCNCCN>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccc(CNCCO)cc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(SCc2ccccc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cc(C#N)ccc3n2C)c(C(=O)Nc2ccccc2)c2cc(C#N)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)cc3)=NN2C2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOCCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(F)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(-c3ccccc3)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(S(C)(=O)=O)CC4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)C[C@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.NCCNC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCC(F)(F)C1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1)Nc1nnc(-c2cccnc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cc(Cl)ccc3F)c2cc1OC1CCN(S(C)(=O)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)NCCN(C)C)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C(C)(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(Cl)C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(C(F)(F)F)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c(/C=C2\C(=O)Nc3ccc(F)cc32)c(C)c1C(=O)NC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCCl)CCN/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Br)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)cc4)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)OC(=O)n1ccc2cc(-c3nn(C4CCCC4)c4ncnc(N)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)n(C)c(=O)c3cnc(Nc4ccc(N5CCSCC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(Nc4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@H]1CN(c2nc(Nc3cnn(C)c3)c3ncn(C(C)C)c3n2)C[C@@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1SCCCN(CC)CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21.CS(=O)(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(Oc6ccccn6)cccc5c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NO)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(N2NC(=O)/C(=C/c3ccc(OCc4ccccc4)cc3)C2=O)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)Oc1ncnc(Nc3cccc(Br)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(Br)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(F)cc(Nc2cc(NC(=O)Nc3c(Cl)cccc3Cl)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3ccncc3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCl)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(-n2c(SCC(=O)Nc3cnc4ccccc4c3)nc3cc4ccccc4cc3c2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1cccc(Br)c1)NS(=O)(=O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(Br)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3c2sc2ccc([N+](=O)[O-])cc23)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3cc4c(cc23)OCCOCCOCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4c(cc23)CN4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1ccc(CNc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(Nc3cccc(Cl)c3)[nH]nc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=C/C(=O)Nc2cccc(Oc3cc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncn3)c2)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2c3c4cc(OCCCN(C)C)c(OCCCN(C)C)cc4oc(=O)c3n3ccc4cc(O)c(OC)cc4c23)cc1O.O=C(O)C(F)(F)F.O=C(O)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc(-c2cccnc2)cc(C(F)(F)F)c1)Nc1nccs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc([N+](=O)[O-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(Cc1cccc(Cl)c1O)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cc(F)cc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ncn(C)n3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@H]1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C(=N\Nc1ncc(Cl)c(Nc2cccc(NC(=O)/C=C/CN(C)C)c2)n1)c1ccc(F)cc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(CN2CCCC2)cc1)c1sc2ncnc3c2c1[nH]c(=O)n3-c1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NC(=O)c4cn(-c5ccccc5OC)cn4)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(Cc1coc2nc(N)nc(N)c12)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c([Se][Se]c2c(C(=O)NC)c3ccccc3n2C)n(C)c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(-c3c[nH]c4cc(F)c(Cl)cc34)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2sc(-c3ccccc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2nc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc(N(C)c2ncnc3occ(C)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc2nc(NC(=O)c3ccnc(C(F)(F)F)c3)n([C@@H]3CCCCN(C(=O)/C=C/CN(C)C)C3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccccc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(c4)c(F)cn5Cc4ccccc4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cn1c(-c2ccccc2)cc(=O)n2ncnc12)NNC(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)[C@H](C)O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CO)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4ccc(Cl)cc4F)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCc1ccccc1)c1cc2cc(O)c(O)cc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C(=O)c1ccc(N(CCCl)CCCl)cc1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(F)c(Cl)c2)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCO)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc4sccc34)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCNc2ncc3cc(-c4c(Cl)cccc4Cl)c(NC(=O)NC4CCCCC4)nc3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCN4CCOCC4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(NC(=O)CCCCCCC(=O)NO)ccc2O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCNc2cc3ncnc(Nc4cccc(Br)c4)c3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(CC(=O)NCCCOc5no[n+]([O-])c5S(=O)(=O)c5ccccc5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccc(Cl)cc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc(C(F)(F)F)c3)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(N3CCN(C(=O)Nc4ccc(OC(C)C)cc4)CC3)ncnc2cc1OCCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(O)c(-c2nc(NCc3cccnc3)c3ccccc3n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-n2cc(CN3C[C@H](C)N[C@H](C)C3)nn2)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C(C)=O)CC2)ccc1Nc1ncc(Cl)c(-c2c[nH]c3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(Oc5cccc(C(F)(F)F)c5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCC(=O)Nc2ccc3c(C#N)cnc(Nc4cccc(Br)c4)c3c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)CN(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H]1CCCN1C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4cccc(C(C)=O)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(F)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCC(CO)CC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2nc(NC(=O)c3cccc(C(F)(F)F)c3)n([C@H]3CC[C@H](O)CC3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CCNc2ncnc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1c2ccc(Cl)cc2nc(-c2ccccc2)n1-c1nnc(C2CC2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4cccc(Br)c4)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CN6CCOCC6)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)nc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(N(C)C)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCCN1CCC([C@H]2CC[C@H](n3nc(-c4ccc5nc(Cc6ccccc6Cl)[nH]c5c4)c4c(N)ncnc43)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4nccs4)c3)c12)C(=O)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2cc(Nc3ccc(S(N)(=O)=O)cc3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCCCCCn1cc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)nn1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(-c5ccsc5)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(-c5ccc(CNCc6ccccc6)o5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(CCN(C)C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)[C@H]1CCCN1Cc1cc2c(Nc3cccc(Cl)c3F)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(C#CCC3CCCC3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(/C=C/c2ccc(F)cc2)=N\Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)CC1CCSS1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](c1ccccc1)n1ncc2cc(Nc3ncnn4ccc(COC[C@@H]5CNCCO5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCCN2CCN(C)CC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(-c2nn(C(C)C)c3ncnc(N)c23)sc1C=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](Nc1ncnc2cc3oc(=O)n(CCCN4CCOCC4)c3cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(C3CC3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CC(N)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cc(NC(=O)c2cccc(NS(=O)(=O)c3ccc(Cl)cc3)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Nc2ncc3ncc(=O)n(-c4ccc(OC)cc4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](CN)n1nc(-c2ccc(Cl)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(C#N)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5nccc(OCC(F)(F)F)c5C)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCC(=O)ON[C@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCNC2=O)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[S+]([O-])CCCCN=C=S>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3cccc(C(F)(F)F)c3)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(Br)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)cc4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(C)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc(C(=O)c3c(C)[nH]c(-c4ccccc4)c3-c3ccccc3)c(C(=O)Nc3ccccc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4Cl)cc3)ncnc2cc1OCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1nc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(C(F)(F)F)c5)cc4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NC(CO)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc3c(-c4c(C)[nH]c(-c5ccccc5)c4-c4ccccc4)nnc(C)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc(Nc2ccc(Cl)cc2)ncn1)c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)c(C)nc3cnc(Nc4ccc(OC)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)C#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1C[C@H](C)N[C@H](C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N3CCc4ccccc43)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(c2ccc(Nc3nccc(-c4c(-c5cccc(NC(=O)c6c(F)cccc6F)c5)nc5sccn45)n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(F)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4ccccc34)nc(-c3cc[nH]n3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cc(Cl)cc(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3cccc(OC)c3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN(C(C)C)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(OC)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CC(O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCc1nc(-c2ccc(F)cc2)c(-c2ccnc3[nH]c(-c4ccccc4)cc23)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc([N+](=O)[O-])c(C(=O)Nc2ccc(F)c(Cl)c2)cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(Oc4ccc(C)nc4)c(Cl)c3)c2cc1NC(=O)/C(F)=C\CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CO)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2c(C#N)cnc3cc4cc(OCCN5CCOCC5)c(OC)cc4cc23)c(Cl)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1cccc(C(F)(F)F)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(-c3cc4c(N[C@H](C)c5ccccc5)ncnc4[nH]3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(F)cc1)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)C(C)C5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccccc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(/C=C/CCCc3ccccc3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCOc1c(C(=O)OC)c2c3c(oc2c2ccccc12)C(=O)c1ccccc1C3=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)NC(=O)Cc2cccc(Br)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C3=NCCCCN3C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=S)C(C(=O)Nc2ccccc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)N(C)[C@H]2C[C@@H]3O[C@](C)([C@H]2OC)n2c4ccccc4c4c5c(c6c7ccccc7n3c6c42)C(=O)NC5)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3ccccc3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(O)c(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCOC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@H]6CNCCO6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3cn[nH]c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(C3CCCC3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1ncc2cc(Nc3ncnn4ccc(CN5CCC(N)CC5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=N/OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncncc3C#Cc3cc[nH]n3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(Sc2cccc(NC(=S)Nc3ccc(Cl)c(C(F)(F)F)c3)c2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)Nc1nc2nc(N)ncc2cc1-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccccc1Oc1nc(Nc2cc(C)[nH]n2)cc(N2CCN(C)CC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(CCc3ccccc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(N[C@@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCCN2c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCC(n2nc(-c3ccc(F)c(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCn4ccnc4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Nc3cccc(F)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C(=O)Oc1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=[N+]([O-])c1ccc2sc3c(Nc4cccc(Br)c4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=C=S)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(OCCCCCCC(=O)NO)ccc2O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4ccccn4)c(C)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc(N3CCOCC3)nc3[nH]cnc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/NCC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(CO)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(-c2ccccc2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(Nc2nc(N/N=C/c3ccc(F)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCC(F)(F)F)c1cc(-c2cnn3cc(-c4ccc(OCCN5CCCCC5)cc4)cnc23)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CC(C)N(C)C(C)C5)cc4OC)nc32)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=C/C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(-c5ccccc5)nc4-c4ccc(F)cc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Nc2ncnc(Nc3ccc(F)c(Cl)c3)c2/C1=C/c1ccc(C(=O)NCCN2CCOCC2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(C2CC(c3ccc4c(c3)OCCO4)=NN2c2ccccc2)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)/C=C/C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(-c2csc(N3N=C(c4ccc(Br)cc4)CC3c3ccc(Br)cc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCNC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(/C=C2\C(=O)Nc3ccccc32)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(C(=O)Nc3ccc(-c4cncc(C#N)c4Nc4ccc(F)c(Cl)c4)cc3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nn1c(-c2ccccc2)nc2ccccc2c1=O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCCC(=O)Nc1cc(Nc2ccccc2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(COC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c(SSc2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccccc2C(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2nc(-c3cn(-c4ccc(C(C)=O)cc4)nn3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncnc(-c3cn(C)c4ccccc34)c2OC)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1)NCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2[nH]c3ncnc(Nc4cccc(Br)c4)c3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C(\C)C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc([N+](=O)[O-])c1)Nc1ncnc2nn3ccccc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCCN2c1nc(C)nc2c(Cc3ccccc3)c[nH]c12.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2F)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)C(=O)Nc1nc(Nc2cccc(C(F)(F)F)c2)c2cc(CCc3ccccn3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSCc2ccccc2Cl)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(NC3CCCCC3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC(F)F)c3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Nc2ccccc2/C1=C/c1cc2c([nH]1)CCC(Br)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(O)cc1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CC(C(=O)NCCO)C3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCC4CC4)c(Cl)c3)c2cc1NC(=O)[C@@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)Nc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cncc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)N1CCN(C(=O)/C(C#N)=C/c2ccc(O)c(O)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2ccc(OC(F)(F)F)c(NC(=O)Nc3ccncc3)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO.Nc1ccc2sc3c(Nc4ccccc4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1B1OC(C)(C)C(C)(C)O1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3cccc(CC)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(Br)c(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(CN6CCNCC6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc2nc(Cc3nnc(-c4ccccc4)o3)[nH]c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)CSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc2ncncc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2nccs2)cc(-c2cn(C)cn2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(OCCN(C)C)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc3ccccc3s2)ccc1Nc1ncnc2cc(OC)c(OC)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2oc(-c3ccccc3)c(-c3ccc4c(c3)OCO4)c12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCN(C)CC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc(F)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(NC(=O)c2ccccc2)cc1Nc1nccc(-c2cccnc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1OCCCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3occc(=O)c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(NC(=O)OCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(N4CCN(C(C)=O)CC4)c(OC)c3)ncc2C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCc1cccc(-c2nc(-c3ccc(F)cc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(F)cc2)C(=O)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(N(C)c3cccc(Cl)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cccc([N+](=O)[O-])c2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(=Cc1coc2nc(=N)[nH]c(N)c12)c1ccccc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cc2c(N)ncnc2nc1NCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=N/NC2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C(F)(F)F)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2ccc(-c3ccc(CN)cc3)cc2c1N[C@@H]1C[C@H]1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2CC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)c1ccc2ccccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCc1ccc(O)c(Br)c1)/C(Cc1cc(Br)c(O)c(Oc2ccc(CCNC(=O)/C(Cc3cc(Br)c(O)c(-c4cc(C/C(=N\O)C(=O)NCCc5ccc(O)c(Br)c5)cc(Br)c4O)c3)=N/O)cc2Br)c1)=N/O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)Cc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@@H]6CNCCO6)c45)ccc32)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(N(C)c3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[S+]([O-])CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1cc2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5[nH]ncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(Cl)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Sc2cccc3[nH]c4nc(N)nc(N)c4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2ccccn2)cc(-c2cccnc2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cc(Cl)c(Cl)cc3F)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCCCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=S)N(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCC6(CCN(C)C6)C5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN3CCOCC3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2CC1CCCN1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)[C@@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccccc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(Nc3ccccc3S(=O)(=O)C(C)C)n2)c(OC)cc1N1CCCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4cccnc34)n2)c(OC)cc1N(C)CCNC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4ccccc4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccccc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C(=CNc1ccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c2c1)C(=O)OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3nccnc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2ccc(O)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2cccc(F)c2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)CCN(C)C)c(NC(=O)/C=C\C(C)C)cc1Nc1nccc(-c2cn(C)c3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Sc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(-c4ccc(CO)o4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc2ncnc(Nc3cccc(Br)c3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3sc4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(F)c(NC(=O)Nc2ccc(-c3cccc4[nH]nc(N)c34)cc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2cc(=O)c3cc(N)c(O)cc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-n2c(=O)cnc3cnc(Nc4cccc(N)c4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Cl)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(F)cc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCN1Cc2cc3c(Nc4cccc(Br)c4)ncnc3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)[C@@H](c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCOc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc([N+](=O)[O-])c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2[nH]c3nc(N)nc(NCc4ccccc4)c3c2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1cccc([N+](=O)[O-])c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(CO)NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)COCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1oc2ncnc(Nc3cccc(Cl)c3)c2c1C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(-c3ccccc3)sc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCN2c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(NS(=O)(=O)c4ccccc4)cc3)c2cc1NC(=O)/C=C/CN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@H]1Oc2cc3ncnc(Nc4cccc(Cl)c4)c3cc2O[C@@H]1COC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cccnc3n2C)c(C(=O)Nc2ccccc2)c2cccnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)O[C@@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(F)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1F)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Nc1ncnn2ccc(CN3CCC(N)CC3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2NC(=O)COCc2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCn4ccnc4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(NC(=O)Nc3ccc(Oc4cc(NC)ncn4)cc3)cc2C(F)(F)F)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C\c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1c(C=O)cccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3c(c2)OCCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N2Cc3cnc(Nc4ccccc4)nc3N([C@H]3CC[C@H](O)C3)C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1c(Br)cccc1CN(Cc1ccc(F)cc1)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(-c2cccc(Nc3ncnc4cc5c(cc34)OCCCO5)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2[nH]c(-c3ccc(Br)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1)NN1C(=O)c2c(c3c4cccc(O)c4n(C4OC(CO)C(O)C(O)C4O)c3c3[nH]c4c(O)cccc4c23)C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCN(CCOC)S(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(SCCCC(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(Cc1cccc(Br)c1O)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCN1CCOCC1)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccn3ccnc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(Cl)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCOC(=O)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(ccn4C(C)C)cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(NC(C)=O)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)O[C@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2nc(-c3ccccc3)[nH]c2-c2ccnc3[nH]ccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)[C@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c(OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CBr)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCc1cccc(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1[nH]cnc2nc(-c3ccccc3)cc1-2)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(O)c(C(=O)Nc2ccc(F)c(Cl)c2)cc1NC(=O)CCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OC[C@]1(C)[C@@H](OC(C)=O)CC[C@@]2(C)[C@H]1CC[C@]1(C)[C@@H]2CC=C2[C@@H]3CC(C)(C)CC[C@]3(C(=O)OCCCCO[N+](=O)[O-])CC[C@]21C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(ccn4CC(C)C)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1c[nH]c2ccccc12)NNC(=S)Nc1ncccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3sc(-c4ccc(CO)cc4OC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCc4c[nH]cn4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(F)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2nc(Oc3ccc(Cl)cc3)c(/C=N/NC(=O)Cn3c([N+](=O)[O-])cnc3C)cc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCOCC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc4c(c3)CCC4)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(Cl)cc(F)cc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(Nc3cnc4ccccc4c3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(N)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cccs1)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c[nH]c2ccc(Nc3ncnc4cc(-c5ccccc5)sc34)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)SCc1cnc(-c3ccccc3)nc1-2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCOc1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(N)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc(NCCc4c[nH]cn4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)C(c1cc(F)ccc1O)N1Cc2ccc(-c3ccc(N4CCNCC4)cc3)cc2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCNCCS(C)(=O)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(-c2nc(-c3ccccc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2ccccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(Br)s1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)N1CCc2c(sc3ncnc(NCCO)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(ON2CCC(C)CC2)c2c(Nc3ccc(OCc4ccccn4)c(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c2[nH]c(SC/C(=N/O)c3ccc(Br)cc3)nc2n(C)c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(F)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)cc3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)c(Br)c2)CC1c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)c1ccc(NN2C(=O)c3c(c4c5cccc(O)c5n(C5OC(CO)C(O)C(O)C5O)c4c4[nH]c5c(O)cccc5c34)C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3cccn3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)SCC(CSC(C)=O)C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c(C#N)cnc2cc1OC[C@H](O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)COc1cccc(Nc2ncc(F)c(Nc3ccc4c(c3)NC(=O)C(F)(F)O4)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CNc2ccnc3oc4ccccc4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Nc2nc[nH]c3nnc(Nc4ccccc4)c2-3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C/C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2cc(Cl)ccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1c(C)[nH]c(/C=C2\C(=O)Nc3ccc(Br)cc32)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc(C)c2nc(Nc3ccc(OCCN4CCCC4)cc3)nnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C(\C)C(O[C@@H]1O[C@H](CO)[C@@H](O)[C@H](O)[C@H]1O)C(C)/C=C(C)/C=C/CC(C)/C=C/c1oc(OC)c(C)c(=O)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCOCC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2F)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(c1ccccc1)c1cc2ncnc(Nc3ccc4[nH]ccc4c3)c2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(NC(=O)c2cnc(Nc3cc(Cl)cc(Cl)c3)nc2N[C@@H]2COC[C@H]2O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn([C@@H]3CCNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CC[C@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(CCC)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3C)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4cc[nH]n4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(C)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3cc(C)[nH]n3)cc(N3CCN(C)CC3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn4c5c(cccc35)CCC4)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@H](Nc1cnc(-c2cc(Cl)ccc2O)c(-c2ccc3cnccc3c2)c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C(N)=S)C(c3ccccc3F)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Oc2nc3ccc(C)cc3cc2/C=N/NC(=O)Cn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)cc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(C)=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4cccc(Br)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCC1CCNCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(NCc3ccccc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cc2c(cc1O)[C@@H]1c3ccc(O)c(O)c3OC[C@]1(O)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1)c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cc([N+](=O)[O-])nc1C[N+](C)(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1.[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cccc(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(Nc2nc(N/N=C/c3cn(Cc4ccccc4)c4ccccc34)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3cccc4ccccc34)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN(C)C)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)c(F)c3)ncnc2cc1OCCOCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCC[C@@H]1Cn1cc(-c2ccc3c(c2)OCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2cc3c(cc2c1Nc1cccc(Br)c1)OCCCO3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCCC(F)(F)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CN(C)CCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2ncnc3ccncc23)c(N)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCc1ccc(-c2ccccc2)cc1)Cc1cn(C)c2ccc(C(=O)Nc3ccc(F)cc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCOCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3c(F)cc(Br)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cc(Br)ccc3n2C)c(C(=O)Nc2ccccc2)c2cc(Br)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCOc1ccc2ncnc(Nc3ccc(OCc4ccccc4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3ncccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)ccc1O)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC)c(OCCCCC(=O)NO)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(NC(=O)c3cccc(C(F)(F)F)c3)nc3cc(C)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN(C)[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OB(O)c1ccc(COc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1oc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)c1cccc2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N(C)C)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(Oc2nc(Nc3ccc(N4CCOCC4)cc3)nc3[nH]cc(-c4ccnc(NC)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C[S+]([O-])c1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)C[C@@H](NC(=O)OC(C)(C)C)C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)C1CCSS1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(C(=O)N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)N1CCN(CCC(=O)Nc2cccc(Oc3nc(Nc4ccc(N5CCN(C)CC5)cc4OC)ncc3Cl)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12)C(=O)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(=O)[nH]c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(Cl)cc5s4)cc3F)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(/C=C(\C#N)C(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1cc2cc(NCc3cc(NC(=O)c4cc(-n5cnc(C)c5)cc(C(F)(F)F)c4)ccc3C)cnc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2ccc(C)cc2)C(c2ccc(O)cc2O)NC(SCc2ccccc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCc1nc(-c2ccc(F)cc2)c(-c2ccnc3[nH]ccc23)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3cccc(Br)c3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nc3cc(NC(=O)CCl)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(-c3c[nH]c4cc(F)c(Cl)cc34)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCN2CCOCC2)[nH]c2cnnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccn4)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Nc2cc(Nc3ccc(N4CCN(C)CC4)cc3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2cc(C)ccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cccc(Nc2ncnc3ccncc23)c1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc2n1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2Cl)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C#N)nc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(CNC(=O)c2c(SSc3c(C(=O)NCc4ccc(C(=O)OC)cc4)c4ccccc4n3C)n(C)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)C#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(C)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1-c1cn(-c2ccccc2)c2ncnc(N)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)n(C(C)C)c(=O)c3cnc(Nc4ccc(N(C)CCN(C)C)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(NC3=CC(=O)C(OCc4cccc(F)c4)=CC3=O)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)cc2)CC1c1cccc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(CCCC)C(=O)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc(NC(=O)Nc3nccs3)cc(C(F)(F)F)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)O)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN1C(=O)CS/C1=N/Nc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(C)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)OCCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C2\CCC/C(=C\c3ccc(Br)cc3)C2=O)cc(OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCN1CCNCCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1C#CC(C)(C)N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3Br)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1cccc(F)c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc3c(N[C@H](C)c4ccccc4F)ncnc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCC[C@@H]1C#Cc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc(Cl)c(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1Cl)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=C=S)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cc(Cl)ccc3F)c2cc1OC1CCN(CC(N)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nn(-c2ccccc2)c(Cl)c1C1C(C#N)=C(N)N(c2cccnc2)C2=C1C(=O)CC(C)(C)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(Nc2cccc3[nH]ccc23)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1c(SSc2c(C(C)=O)c3ccccc3n2C)n(C)c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC/C=C\C(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(/C=C/C(=O)c2ccc3ncc(C(N)=O)c(Nc4ccc(Cl)cc4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CC(=O)N/N=C/c1cc2ccccc2nc1Oc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cnc4[nH]ccc4c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCC(O)CN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)[C@H](C)N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(C3CCN(Cc4ccccc4)C3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(Br)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn4c5c(cccc35)CCC4)n2)c(OC)cc1N1CC(CCN(C)C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC1CCCN1CC#CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1OC1CCN(S(C)(=O)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)c1cccc(Oc2ccc(Nc3ncnc4ccn(CCO)c34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1ccnc(Nc2ccccc2OC)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4ccccc4C(F)(F)F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1coc2ncnc(N(C)c3ccc(N(C)C)cc3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c3nc(Nc4ccc(N5CCC(N(C)C)CC5)cc4OC)ncc3c(=O)n3ccnc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3C)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(OCc2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc(=O)c3c([nH]2)sc2ccc(C)cc23)ccc1OCC(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(C#N)c3)ncnc2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1ccc(Cl)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(-c3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)o2)CC1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(Cl)C(=O)Nc1cc(Nc2nc3c(c(-c4cn(C)c5ccccc45)n2)CS(=O)(=O)CC3)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC(=O)CSc1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(C)sc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2c(Cl)cc(NCc3c[nH]nn3)cc2c1Nc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Nc2ncnc3cc(OCCCN4CCOCC4)ccc23)c1)Nc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Cl)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(-c3ccc(N4CCNCC4)nc3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnn3c(C)ccc23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5ccc(Cl)cc5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2[nH]cnc3nnc(Nc4cccc(Cl)c4)c2-3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C3CC3)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(O)c(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(c(OC)c1)C(=O)N(c1cccc(C(=O)N3CCCCC3)c1)CC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cccnc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)c1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N(C)c3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc2sc(SCc3cc(/C=C(\C#N)C(N)=O)cc(OC)c3O)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2ncc(Cl)c(-c3c[nH]c4ccccc34)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(Cl)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)N(C)C)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(NC(=O)C45CC6CC(CC(C6)C4)C5)cc3C)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCc4c[nH]cn4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCC2(CC1)OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Cc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCN2CCOCC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CC1C(S)=Nc2ccccc21)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCCN1CCCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CNC(=O)[C@H]1CCCCN1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCCNc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Nc2cc(Nc3ccc(F)cc3)ncn2)c1>)>]
-
-
-
-
-
-
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718b1b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718ba20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219e40> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219510> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a72194b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219d80> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a71e6cc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cfe34e0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cf485a0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cee94b0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bc00> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bcc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cbb9d20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823ccc3b10> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823c85be70> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cabdea0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-
-
-
-
-

Filter

-

Remove systems that couldn’t be featurized. Successful featurizations are stored in measurement.system.featurizations['last'] so we test for that key existence.

-
-
[57]:
-
-
-
from kinoml.datasets.groups import CallableGrouper, RandomGrouper
-grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')
-grouper.assign(dataset, overwrite=True, progress=False)
-groups = dataset.split_by_groups()
-if "invalid" in groups:
-    _invalid = groups.pop("invalid")
-    warn(f"{len(_invalid)} entries could not be featurized!. Possible errors:")
-    warn(f"{_invalid[0].system.featurizations}")
-
-
-
-
-
-

Groups

-

Cumulatively apply groups.

-
-
[58]:
-
-
-
groups[("valid",)] = groups.pop("valid")
-if GROUPS:
-    for grouper_str, grouper_kwargs in GROUPS:
-        grouper_cls = import_object(grouper_str)
-        ## We need this because lambda functions are not JSON-serializable
-        if issubclass(grouper_cls, CallableGrouper):
-            for k, v in list(grouper_kwargs.items()):
-                if k == "function" and isinstance(v, str):
-                    grouper_kwargs[k] = eval(v)  # sorry :)
-        ## End of lambda hack
-        grouper = grouper_cls(**grouper_kwargs)
-        for group_key in list(groups.keys()):
-            grouper.assign(groups[group_key], overwrite=True, progress=False)
-            for subkey, subgroup in groups.pop(group_key).split_by_groups().items():
-                groups[group_key + (subkey,)] = subgroup
-print("10 groups to show keys:", *list(groups.keys())[:10], sep="\n") #your measurement groups!
-
-
-
-
-
-
-
-
-10 groups to show keys:
-('valid', 'P00533', 'pIC50Measurement')
-('valid', 'P00533', 'pKdMeasurement')
-('valid', 'P00533', 'pKiMeasurement')
-
-
-
-
-

Write tensors to disk

-

Output files are written to _output/<PIPELINE>/<DATASET>/<GROUP>.parquet files.

-

Each parquet will contain at least two array-like objects. The dimensionality of the parquet files is built as (systems, X_or_y, ...). For example, the first X vector for the first system is accessed like parquet[0, "0"]. Notice how the 2nd index is a string! (awkward design).

-
    -
  • "0" (X, featurized systems). See DatasetProvider.to_awkward for more info.

  • -
  • "1" (y, associated measurements)

  • -
-

If X is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to "0", "1", "2", and so on. y is ALWAYS the last one in that list (accessible via data.fields)

-
-
[59]:
-
-
-
random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)
-
-parquets = []
-for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):
-    indices = random_grouper.indices(ds)
-    X, y = ds.to_awkward()
-    parquet = ak.zip([*X, y], depth_limit=1)
-    path = OUT / f"{'__'.join([g for g in group if g != 'valid'])}.parquet"
-    parquets.append(path)
-    ak.to_parquet(parquet, path)
-
-
-
-

Preview generated Parquet files:

-
-
[60]:
-
-
-
from kinoml.datasets.torch_datasets import AwkwardArrayDataset
-awk = AwkwardArrayDataset.from_parquet(parquets[0])
-awk
-
-
-
-
-
[60]:
-
-
-
-
-<Array [([[...], ...], [...], 6.14), ...] type='947 * (var * var * float64,...'>
-
-
-
-
[61]:
-
-
-
# X, y = awk[0]  # (multi-X) and y tensors for first system
-
-
-
-
-
[62]:
-
-
-
# X
-
-
-
-
-
[63]:
-
-
-
# y
-
-
-
-
-
[64]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 11:07:39.583477
-
-
-
-
-

Reproducibility logs

-
-
[65]:
-
-
-
# Free some memory first
-del awk, parquets, groups, dataset
-
-
-
-
-
[66]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T11:07:39.592225+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-torch  : 2.1.0
-awkward: 2.4.6
-kinoml : 0+unknown
-numpy  : 1.26.0
-json   : 2.0.9
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-pandas : 2.1.1
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 11:07:39 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   62C    P8    21W /  80W |     49MiB / 16384MiB |     19%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[67]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[68]:
-
-
-
import json
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-
-
-
-

2.💻Run the experiment

-
-

Train a model with PyTorch

-

Now, we will train a single model using only PyTorch.

-
    -
  1. Tensors are loaded from Parquet files generated in the features/ pipeline. Each Parquet becomes a Torch Dataset sublass.

  2. -
  3. Random splits are applied for train/test/(val).

  4. -
  5. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.

  6. -
  7. The loss is computed through the loss_adapter method in each measurement_type.

  8. -
  9. If validation is enabled, early stopping and LR schedulers are applied.

  10. -
-
-
-

✏Define hyper parameters

-
-
[69]:
-
-
-
# Parameters
-PARQUET_LOADER_CLS = "kinoml.datasets.torch_datasets.AwkwardArrayDataset"
-PARQUET_FILES = [
-    "kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet"]
-
-# Model -- specified with the full import path to the class object
-## Machine learning model that will be trained. Pass it as importable string.
-MODEL_CLS = "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed"
-## Keyword arguments for the model initialization
-MODEL_KWARGS = {"hidden_shape": 350}  # input_shape is defined dynamically during training
-
-# OPTIMIZER
-## Optimizer class. Pass it as an importable string.
-OPTIMIZER = "torch.optim.Adam"
-## Keyword arguments for the optimizer
-OPTIMIZER_KWARGS = {"lr": 0.001, "eps": 1e-7, "betas": [0.9, 0.999]}
-
-# LOSS FUNCTION
-## Loss function class. Pass it as an importable string.
-LOSS = "torch.nn.MSELoss"
-## Keyword arguments for the loss function, if applicable
-LOSS_KWARGS = {}
-
-# TRAINING
-## Maximum number of epochs the training will run. In practice it might be less due to early stopping
-MAX_EPOCHS = 50
-## Enable real-time validation: this will split the test set into two halves: test and validation.
-## It will also enable LR scheduling and early stopping, based on the validation loss.
-VALIDATION = True
-## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)
-EARLY_STOPPING_KWARGS = {}
-
-# DATALOADER
-DATALOADER_CLS = "torch.utils.data.DataLoader"  # you can also use torch_geometric.data.DataLoader
-## Minibatch size
-BATCH_SIZE = 64
-## Proportion of the dataset that will be split into a test set. If VALIDATION=True,
-## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.
-TRAIN_TEST_SPLIT = 0.2
-## Whether to shuffle the indices before splitting
-SHUFFLE_SPLITS = True
-## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-## IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-COLLATE_FN = None
-
-# Plot bootstrapping
-## Bootstrapping iterations for the performance plots
-N_BOOTSTRAPS = 1
-## Proportion of the data that is sampled in each iteration
-BOOTSTRAP_SAMPLE_RATIO = 1
-
-# Output
-## Enable some extra output, like plots and logging statements.
-VERBOSE = False
-
-
-HERE = _dh[-1] #current path
-
-
-
-

⚠ From here on, you should not need to modify anything else to apply it to your own dataset 🤞

-
-

Define key paths for data and outputs:

-
-
[70]:
-
-
-
from pathlib import Path
-from datetime import datetime
-
-HERE = Path(HERE)
-
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-FEATURES_STORE = REPO /"examples"/"experiments"
-
-OUT = HERE / "_output" / datetime.now().strftime("%Y%m%d-%H%M%S")
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Features:      FEATURES_STORE = {FEATURES_STORE}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Features:      FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802
-
-
-
-
[71]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
[72]:
-
-
-
from collections import defaultdict
-from warnings import warn
-import sys
-import shutil
-
-from IPython.display import Markdown
-import numpy as np
-import pandas as pd
-import torch
-from torch.utils.data import DataLoader, SubsetRandomSampler
-from tqdm.auto import trange, tqdm
-
-from kinoml.ml.torch_loops import LRScheduler, EarlyStopping
-from kinoml.utils import seed_everything, import_object
-from kinoml.core import measurements as measurement_types
-from kinoml.core.measurements import null_observation_model
-from kinoml.analysis.metrics import performance
-from kinoml.analysis.plots import predicted_vs_observed
-
-# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 11:08:03.674800
-
-
-
-
-

Load featurized data and create observation models

-

We assume this path structure: $REPO/features/_output/<FEATURIZATION>/<DATASET>/<MEASUREMENT_TYPE>.npz

-
-
[73]:
-
-
-
DATASETS = []
-MEASUREMENT_TYPES = set()
-ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)
-for glob in PARQUET_FILES:
-    print(glob)
-    parquets = list(FEATURES_STORE.glob(glob))
-    if not parquets:
-        warn(f"⚠ Parquet glob `{glob}` did not match any files!")
-        continue
-
-    for parquet in parquets:
-        measurement_type = parquet.stem
-        dataset = parquet.parent.name
-
-        ds = ParquetLoaderCls.from_parquet(parquet)
-        ds.metadata = {
-            "dataset": dataset,
-            "measurement_type": measurement_type,
-        }
-        DATASETS.append(ds)
-        MEASUREMENT_TYPES.add(measurement_type)
-
-if not DATASETS:
-    raise ValueError("Provided `PARQUET_FILES` did not result in any valid datasets!")
-
-
-
-
-
-
-
-
-kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet
-
-
-

Now that we have all the data-dependent objects, we can start with the model-specific definitions.

-
-
[74]:
-
-
-
print(f"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.")
-
-
-
-
-
-
-
-
-Loaded 3 datasets with a total of 1000 measurements.
-
-
-
-
-

Prepare splits and dataloaders

-

Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed.

-
-
[75]:
-
-
-
dataloaders = {}
-for dataset in DATASETS:
-    key = dataset.metadata["measurement_type"]
-
-    # Generate random indices in situ
-    # If you need to provide indices from another source,
-    # replace this block to provide train_indices, test_indices
-    dataset_size = len(dataset)
-    indices = list(range(dataset_size))
-    split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))
-
-    if SHUFFLE_SPLITS :
-        np.random.shuffle(indices)
-    train_indices, test_indices = indices[split:], indices[split:]
-    if VALIDATION:
-        split2 = int(np.floor(len(test_indices) / 2))
-        test_indices, val_indices = test_indices[:split2], test_indices[split2:]
-    # End of indices creation
-
-    collate_fn = None
-    if COLLATE_FN:
-        # IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-        # COLLATE_FN can be an import string, or a eval-able lambda
-        # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-        try:
-            collate_fn = import_object(COLLATE_FN)
-        except ImportError:
-            collate_fn = eval(COLLATE_FN)
-
-    # Creating PT data samplers and loaders:
-    train_sampler = SubsetRandomSampler(train_indices)
-    test_sampler = SubsetRandomSampler(test_indices)
-
-    dataloaders[key] = {
-        "train": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),
-        "test": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),
-    }
-
-    if VALIDATION:
-        val_sampler = SubsetRandomSampler(val_indices)
-        dataloaders[key]["val"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)
-
-
-
-
-
-

Training loop

-
-
[76]:
-
-
-
ModelCls = import_object(MODEL_CLS)
-
-# Note that we assume all dataloaders will provide the
-# same kind of input shape, so we onlt test on one
-if ModelCls.needs_input_shape:
-    a_dataloader = dataloaders[next(iter(dataloaders.keys()))]["train"]
-    x_sample, _ = next(iter(a_dataloader))
-    MODEL_KWARGS["input_shape"] = ModelCls.estimate_input_shape(x_sample)
-
-nn_model = ModelCls(**MODEL_KWARGS)
-
-optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)
-loss_function = import_object(LOSS)()
-
-if VALIDATION:
-    lr_scheduler = LRScheduler(optimizer)
-    early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)
-
-train_loss_timeseries = []
-val_loss_timeseries = []
-
-range_epochs = trange(MAX_EPOCHS, desc="Epochs")
-for epoch in range_epochs:
-    train_loss = 0.0
-    val_loss = 0.0
-    for key, loader in tqdm(dataloaders.items(), desc="Datasets", leave=False):
-        try:
-            mtype_class = import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype_class = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        loss_adapter = mtype_class.loss_adapter(backend="pytorch")
-
-        # TRAIN
-        nn_model.train()
-        for x, y in tqdm(loader["train"], desc="Minibatches", leave=False):
-            # Clear gradients
-            optimizer.zero_grad()
-            # Obtain model prediction given model input
-            prediction = nn_model(x)
-            # apply observation model
-            loss = loss_adapter(prediction.view_as(y), y, loss_function)
-            # Pred. must match y shape!    ^^^^^^^^^^
-            # Obtain loss for the predicted output
-            train_loss += loss.item()
-            # Gradients w.r.t. parameters
-            loss.backward()
-            # Optimize
-            optimizer.step()
-
-
-        # VALIDATE
-        if VALIDATION:
-            nn_model.eval()
-            with torch.no_grad():
-                for x, y in tqdm(loader["val"], desc="Minibatches", leave=False):
-                    prediction = nn_model(x).view_as(y)
-                    loss = loss_adapter(prediction.view_as(y), y, loss_function)
-                    val_loss += loss.item()
-                    range_epochs.set_description(f"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})")
-
-    # LOG LOSSES
-    train_loss_timeseries.append(train_loss)
-
-    if VALIDATION:
-        val_loss_timeseries.append(val_loss)
-
-        # Adjust training if needed
-        lr_scheduler(val_loss)
-        early_stopping(val_loss)
-        if early_stopping.early_stop:
-            break
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 1 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 2 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 3 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 4 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 5 of 5
-INFO: Early stopping
-
-
-

Save model to disk

-
-
[77]:
-
-
-
torch.save(nn_model, OUT / "nn_model.pt")
-
-
-
-
-
-

Evaluate model

-
-
[78]:
-
-
-
metrics = {}
-nn_model.train(False)
-for key, loader in dataloaders.items():
-    metrics[key] = {}
-    display(Markdown(f"#### {key}"))
-    for ttype, dataloader in loader.items():
-        display(Markdown(f"##### {ttype}"))
-        try:
-            mtype= import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        obs_model = mtype.observation_model(backend="pytorch")
-        x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]
-        prediction = obs_model(nn_model(x).view_as(y).detach().numpy())
-
-        perf_data = performance(prediction, y, verbose=False)
-        metrics[key][ttype] = {}
-        for perfkey, values in perf_data.items():
-            metrics[key][ttype][perfkey] = {"mean": values[0], "std": values[1]}
-        display(predicted_vs_observed(prediction, y, mtype))
-
-
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.2532±0.0440 95CI=(0.1840, 0.3351)
- MSE: 0.1022±0.0268 95CI=(0.0617, 0.1525)
-  R2: 0.9303±0.0414 95CI=(0.8451, 0.9739)
-RMSE: 0.3168±0.0428 95CI=(0.2484, 0.3905)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_3.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.2502±0.0478 95CI=(0.1741, 0.3270)
- MSE: 0.0899±0.0248 95CI=(0.0481, 0.1287)
-  R2: 0.9256±0.0927 95CI=(0.7208, 0.9744)
-RMSE: 0.2965±0.0442 95CI=(0.2193, 0.3587)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_6.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.2407±0.0668 95CI=(0.1341, 0.3498)
- MSE: 0.1029±0.0430 95CI=(0.0386, 0.1756)
-  R2: 0.8805±0.1336 95CI=(0.6998, 0.9789)
-RMSE: 0.3131±0.0702 95CI=(0.1965, 0.4191)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_9.png -
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.2184±0.0412 95CI=(0.1494, 0.2931)
- MSE: 0.0677±0.0226 95CI=(0.0337, 0.1112)
-  R2: 0.9445±0.0340 95CI=(0.8591, 0.9810)
-RMSE: 0.2566±0.0429 95CI=(0.1835, 0.3335)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_13.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.2151±0.0706 95CI=(0.1024, 0.3471)
- MSE: 0.0725±0.0384 95CI=(0.0157, 0.1419)
-  R2: 0.8086±0.5423 95CI=(0.6794, 0.9825)
-RMSE: 0.2586±0.0750 95CI=(0.1254, 0.3767)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_16.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.2254±0.0468 95CI=(0.1542, 0.3018)
- MSE: 0.0647±0.0275 95CI=(0.0300, 0.1120)
-  R2: -0.7618±16.2603 95CI=(-0.0136, 0.9874)
-RMSE: 0.2488±0.0531 95CI=(0.1732, 0.3347)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_19.png -
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.4567±0.0149 95CI=(0.4344, 0.4844)
- MSE: 0.3618±0.0253 95CI=(0.3243, 0.4090)
-  R2: 0.8168±0.0129 95CI=(0.7980, 0.8382)
-RMSE: 0.6012±0.0209 95CI=(0.5695, 0.6395)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_23.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.4471±0.0217 95CI=(0.4145, 0.4838)
- MSE: 0.3385±0.0363 95CI=(0.2930, 0.4102)
-  R2: 0.8199±0.0205 95CI=(0.7874, 0.8495)
-RMSE: 0.5810±0.0309 95CI=(0.5413, 0.6405)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_26.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.4717±0.0221 95CI=(0.4335, 0.5090)
- MSE: 0.3932±0.0380 95CI=(0.3295, 0.4515)
-  R2: 0.8117±0.0193 95CI=(0.7819, 0.8437)
-RMSE: 0.6263±0.0304 95CI=(0.5740, 0.6720)
-
-
-
-
-
-
-../_images/notebooks_kinase-ligand-informed-smiles-sequence-EGFR_56_29.png -
-
-
-
-

Summary

-

kinase_metrics is a nested dictionary with these dimensions:

-
    -
  • measurement type

  • -
  • metric

  • -
  • mean & standard deviation

  • -
-
-
[79]:
-
-
-
import json
-
-display(Markdown(f"""
-### Configuration
-
-```json
-{json.dumps(_hparams, default=str, indent=2)}
-```
-"""))
-
-if VERBOSE:
-    display(Markdown(
-f"""
-### Kinase metrics
-
-```json
-{json.dumps(metrics, default=str, indent=2)}
-```
-"""))
-
-
-
-
-
-
-
-
-

Configuration

-
{
-  "VERSION": "2023.11.06",
-  "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR",
-  "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider",
-  "DATASET_KWARGS": {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "sample": 1000
-  },
-  "PIPELINES": {
-    "ligand": [
-      [
-        "kinoml.features.ligand.OneHotSMILESFeaturizer",
-        {}
-      ],
-      [
-        "kinoml.features.core.PadFeaturizer",
-        {
-          "shape": "auto"
-        }
-      ]
-    ],
-    "kinase": [
-      [
-        "kinoml.features.protein.OneHotEncodedSequenceFeaturizer",
-        {}
-      ],
-      [
-        "kinoml.features.core.PadFeaturizer",
-        {
-          "shape": "auto"
-        }
-      ]
-    ]
-  },
-  "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays",
-  "PIPELINES_AGG_KWARGS": {},
-  "FEATURIZE_KWARGS": {
-    "keep": false
-  },
-  "GROUPS": [
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7fe888011b80>"
-      }
-    ],
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7fe7a3041c10>"
-      }
-    ]
-  ],
-  "TRAIN_TEST_VAL_KWARGS": {
-    "idx_train": 0.8,
-    "idx_test": 0.1,
-    "idx_val": 0.1
-  },
-  "REPO": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml",
-  "OUT": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802",
-  "X": "[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...], ...]",
-  "PARQUET_LOADER_CLS": "kinoml.datasets.torch_datasets.AwkwardArrayDataset",
-  "PARQUET_FILES": [
-    "kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet"
-  ],
-  "MODEL_CLS": "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed",
-  "MODEL_KWARGS": {
-    "hidden_shape": 350,
-    "input_shape": [
-      [
-        53,
-        159
-      ],
-      [
-        20,
-        1210
-      ]
-    ]
-  },
-  "OPTIMIZER": "torch.optim.Adam",
-  "OPTIMIZER_KWARGS": {
-    "lr": 0.001,
-    "eps": 1e-07,
-    "betas": [
-      0.9,
-      0.999
-    ]
-  },
-  "LOSS": "torch.nn.MSELoss",
-  "LOSS_KWARGS": {},
-  "MAX_EPOCHS": 50,
-  "VALIDATION": true,
-  "EARLY_STOPPING_KWARGS": {},
-  "DATALOADER_CLS": "torch.utils.data.DataLoader",
-  "BATCH_SIZE": 64,
-  "TRAIN_TEST_SPLIT": 0.2,
-  "SHUFFLE_SPLITS": true,
-  "COLLATE_FN": null,
-  "N_BOOTSTRAPS": 1,
-  "BOOTSTRAP_SAMPLE_RATIO": 1,
-  "VERBOSE": false,
-  "FEATURES_STORE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments",
-  "DATASETS": [
-    "[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 7.89), ..., ([...], ...)]",
-    "[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 9.04), ..., ([...], ...)]",
-    "[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 6.14), ..., ([...], ...)]"
-  ],
-  "MEASUREMENT_TYPES": "{'P00533__pKdMeasurement', 'P00533__pIC50Measurement', 'P00533__pKiMeasurement'}"
-}
-
-
-
-
-
-
-
[80]:
-
-
-
for mtype_name in MEASUREMENT_TYPES:
-    mtype_metrics = metrics.get(mtype_name)
-    if not mtype_metrics:
-        continue
-
-    display(Markdown(f"#### {mtype_name}"))
-
-    # flatten dict a bit: from dict["test"]["r2"]["mean"] to dict["test"]["r2_mean"]
-    flattened = {}
-    for ttype, scores in mtype_metrics.items():
-        flattened[ttype] = {}
-        for score, stats in scores.items():
-            for stat, value in stats.items():
-                flattened[ttype][f"{score}_{stat}"] = value
-
-    df = pd.DataFrame.from_dict(flattened, orient="index")
-    with pd.option_context("display.float_format", "{:.3f}".format, "display.max_rows", len(df)):
-        display(
-            df.style.background_gradient(subset=["r2_mean"], low=0, high=1, vmin=0, vmax=1)
-              .apply(lambda x: ['font-weight: bold' for v in x], subset=["r2_mean"])
-        )
-
-
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2183750.0412380.0676850.0225510.9445250.0340340.2566060.042876
test0.2150770.0705800.0724870.0383960.8086320.5422670.2585690.075029
val0.2253990.0468430.0647030.027453-0.76182016.2603050.2487590.053127
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.4566580.0149270.3618270.0253000.8168410.0128790.6011580.020894
test0.4470510.0216540.3384910.0363380.8198910.0205380.5809790.030896
val0.4717340.0220940.3931630.0380300.8117120.0192680.6262900.030394
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2531970.0439990.1022290.0268420.9303210.0414150.3168500.042846
test0.2502220.0478300.0898640.0248070.9256210.0927490.2964900.044240
val0.2406980.0668490.1029360.0429500.8805250.1335830.3130560.070226
-
-
-
[81]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 11:17:27.428671
-
-
-
-
-

Save reports to disk

-
-
[82]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T11:17:27.435445+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-torch  : 2.1.0
-awkward: 2.4.6
-kinoml : 0+unknown
-numpy  : 1.26.0
-json   : 2.0.9
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-pandas : 2.1.1
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 11:17:27 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   68C    P8    22W /  80W |     49MiB / 16384MiB |     25%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[83]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[84]:
-
-
-
import json
-
-with open(OUT / "performance.json", "w") as f:
-    json.dump(metrics, f, default=str, indent=2)
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-

And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!

-
-
[ ]:
-
-
-

-
-
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb b/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb deleted file mode 100644 index daafb939..00000000 --- a/docs/_build/html/notebooks/kinase-ligand-informed-smiles-sequence-EGFR.ipynb +++ /dev/null @@ -1,13737 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Kinase informed SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer` to featurize the ligand and `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` to featurize the kinase. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. Step 1 of this notebook provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processes (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ],\n", - " \"kinase\": [\n", - " [\"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:06:10.080592\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "adadc5d0bc3e4e14bbadcd1f6526f9cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#make sure you have your open eye license in the same directory as your notebook!\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Building featurizer `kinase` with instructions:\n", - " Instantiating `kinoml.features.protein.OneHotEncodedSequenceFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\") #your measurement groups!" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:07:39.583477\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:07:39.592225+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:07:39 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 19% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 11:08:03.674800\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4125cc94fb814463903146077884beb8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2532±0.0440 95CI=(0.1840, 0.3351)\n", - " MSE: 0.1022±0.0268 95CI=(0.0617, 0.1525)\n", - " R2: 0.9303±0.0414 95CI=(0.8451, 0.9739)\n", - "RMSE: 0.3168±0.0428 95CI=(0.2484, 0.3905)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBiElEQVR4nO3deVhUZf8G8HvYBkQYBWVTREQTUVPUVMx9BRVtVXMJ1yyxJHtLfV3QUtF+tljmkq+KuaS9bmmZuYHmLqJm7gsaKoSagUKMwDy/P3yZGJiBmWH2uT/XNdfVnHnOOd/hJDfnnOc8j0QIIUBERGTlHMxdABERkSEw0IiIyCYw0IiIyCYw0IiIyCYw0IiIyCYw0IiIyCYw0IiIyCYw0IiIyCYw0IiIyCYw0Mhs9u/fj5EjRyI0NBTu7u6oVasW+vfvj1OnTpVpK5FINL5CQ0MNVlNycjIkEgk2bdqksjwvLw9RUVFwdnbGN998AwBITEyERCLBzZs3le2GDx8OiUQCDw8PPH78uMz2b926BQcHB0gkEsycOdNgdZN+Fi9ejMTERHOXQQbiZO4CyH4tWbIEDx48wIQJExAWFoZ79+7hk08+Qdu2bfHzzz+ja9euyrZHjx4ts/7x48cRFxeHF1980ah1Zmdno0+fPkhJScGmTZvQv39/AECfPn1w9OhR+Pv7q7R3dnZGYWEhNm7ciFGjRql8tmrVKnh4eCAnJ8eoNZN2Fi9ejBo1amD48OHmLoUMgIFGZvPVV1/Bx8dHZVlkZCTq16+PuXPnqgRa27Zty6y/bNkySCSSMqFhSFlZWejVqxeuX7+On376CV26dFF+VrNmTdSsWbPMOi4uLoiOjsbKlStVahNCIDExEQMHDsTy5cuNVrOp5OXloUqVKuYug0iJlxzJbEqHGQBUrVoVYWFhSE9PL3fdR48e4b///S86deqE+vXrV7gviUSC8ePHY9myZXjmmWcglUoRFhaGDRs2aFzn1q1baN++PW7fvo39+/erhBmg/pJjsZEjR+LIkSO4fPmyctnevXtx69YtjBgxQu3+MjMzMXbsWNSuXRsuLi4IDg7GrFmzUFhYqNJu1qxZaNOmDby8vODp6YkWLVpgxYoVKD3O+P79+9G5c2d4e3vDzc0NderUwcsvv4y8vDwA/1xeTU5OVlnv5s2bkEgkKpfihg8fjqpVq+LcuXPo2bMnPDw80K1bNwDAkydPMHv2bISGhkIqlaJmzZoYMWIE7t27p7LdunXrom/fvvjhhx8QHh4ONzc3NGrUCD/88IPy59moUSO4u7ujdevWSElJKfMzSklJQb9+/eDl5QVXV1eEh4fju+++U2lTfFySkpLw1ltvoUaNGvD29sZLL72Eu3fvqtRz/vx5HDhwQHn5um7dumqPDVkHnqGRRcnOzkZqaqrK2Zk6GzZsQG5uLkaPHq31trdv346kpCR8+OGHcHd3x+LFi/Haa6/ByckJr7zyikrbixcv4t133wUAHDx4EI0aNdLpe3Tv3h1BQUFYuXIl5s+fDwBYsWIFOnbsiAYNGpRpn5mZidatW8PBwQEzZsxASEgIjh49itmzZ+PmzZtYtWqVsu3NmzcxduxY1KlTBwBw7NgxvP3227hz5w5mzJihbNOnTx906NABK1euRLVq1XDnzh3s2rULT5480evM6smTJ+jXrx/Gjh2LyZMno7CwEAqFAv3798cvv/yCDz74AO3atcOtW7cQHx+Pzp07IyUlBW5ubsptnD17FlOmTMHUqVMhk8kwa9YsvPTSS5gyZQr27duHuXPnQiKRYNKkSejbty/S0tKU6yclJSEyMhJt2rTB0qVLIZPJsGHDBgwcOBB5eXllLhuOHj0affr0wfr165Geno73338fQ4cOxf79+wEAW7duxSuvvAKZTIbFixcDAKRSqc4/F7IggsiCDBkyRDg5OYmUlJRy27Vp00ZUq1ZN/P3331ptF4Bwc3MTmZmZymWFhYUiNDRU1K9fX7ksKSlJABAAhKOjo7hw4YLGba5atUoAEGlpacplMTExwt3dXQghRHx8vPDz8xMFBQXiwYMHQiqVisTERHHv3j0BQMTHxyvXGzt2rKhataq4deuWyj4WLFggAIjz58+rraGoqEgUFBSIDz/8UHh7ewuFQiGEEGLTpk0CgDhz5ozG+ou/a1JSksrytLQ0AUCsWrVK5XsBECtXrlRp++233woAYvPmzSrLT548KQCIxYsXK5cFBQUJNzc3cfv2beWyM2fOCADC399f5ObmKpdv27ZNABDbt29XLgsNDRXh4eGioKBAZV99+/YV/v7+oqioSAjxz3EZN26cSruPP/5YABAZGRnKZY0bNxadOnXS+DMi68JLjmQxpk+fjnXr1uGzzz5Dy5YtNbY7f/48jh8/jiFDhsDV1VXr7Xfr1g2+vr7K946Ojhg4cCCuXbuG27dvq7Tt27cvFAoFYmNjlZfodDVixAj88ccf+Omnn7Bu3Tq4uLjg1VdfVdv2hx9+QJcuXRAQEIDCwkLlKyoqCgBw4MABZdv9+/eje/fukMlkcHR0hLOzM2bMmIEHDx4gKysLANC8eXO4uLjgjTfewOrVq3Hjxg29vkNpL7/8cpm6q1WrhujoaJW6mzdvDj8/vzKXM5s3b45atWop3xef+Xbu3FnlrLF4+a1btwAA165dw6VLlzBkyBAAUNlX7969kZGRoXJ5FwD69eun8v7ZZ59V2SbZHgYaWYRZs2Zh9uzZmDNnDsaPH19u2xUrVgCATpcbAcDPz0/jsgcPHqgsj4mJwfLly5GcnIw+ffogNzdXp30BQFBQELp164aVK1di5cqVGDRokMZLfX/88Qd27NgBZ2dnlVfjxo0BAPfv3wcAnDhxAj179gQALF++HIcPH8bJkycxdepUAMDff/8NAAgJCcHevXvh4+OD2NhYhISEICQkBAsXLtT5exSrUqUKPD09y9T9119/wcXFpUztmZmZyrqLeXl5qbx3cXEpd3l+fr5yPwDwr3/9q8x+xo0bp/IzKubt7a3yvvhyYvHPiGwP76GR2c2aNQszZ87EzJkz8e9//7vctk+ePMGaNWvQsmVLNG/eXKf9ZGZmalxW+pcfAIwaNQoODg4YPXo0evfujZ07d8Ld3V2nfY4cORJDhw6FQqHAkiVLNLarUaMGnn32WcyZM0ft5wEBAQCe3jt0dnbGDz/8oHJ2um3btjLrdOjQAR06dEBRURFSUlLw5ZdfIi4uDr6+vhg0aJByfblcrrJe6WAoJpFI1Nbt7e2NXbt2qV3Hw8ND7XJd1ahRAwAwZcoUvPTSS2rbNGzY0CD7IuvFQCOz+uijjzBz5kxMmzYN8fHxFbbfvn077t+/jw8//FDnfe3btw9//PGH8rJjUVERNm7ciJCQENSuXVvtOiNGjFA+GhAVFYWdO3eiatWqWu/zxRdfxIsvvgiZTKb20YNiffv2xc6dOxESEoLq1atrbCeRSODk5ARHR0flsr///htr1qzRuI6joyPatGmD0NBQrFu3DqmpqRg0aJCyR9+vv/6KXr16Kdtv375d6+/Xt29fbNiwAUVFRWjTpo3W6+mqYcOGaNCgAc6ePYu5c+cabLtSqZRnbDaEgUZm88knn2DGjBmIjIxEnz59cOzYMZXP1QXAihUr4ObmhsGDB+u8vxo1aqBr166YPn26spfjpUuXyu26Dzztsu7g4IARI0YgKioKP/30k9ah5urqWmbUEXU+/PBD7NmzB+3atcM777yDhg0bIj8/Hzdv3sTOnTuxdOlS1K5dG3369MGnn36KwYMH44033sCDBw+wYMGCMr3zli5div3796NPnz6oU6cO8vPzsXLlSgBPe2ACTy+3du/eHQkJCahevTqCgoKwb98+bNmyRavvBgCDBg3CunXr0Lt3b0yYMAGtW7eGs7Mzbt++jaSkJPTv399gD74vW7YMUVFR6NWrF4YPH45atWrhzz//xMWLF5Gamor//ve/Om+zadOm2LBhAzZu3Ih69erB1dUVTZs2NUi9ZHoMNDKbHTt2AAB27dql9pKVKPVcVXp6Onbv3o2hQ4dCJpPpvL9+/fqhcePGmDZtGn7//XeEhIRg3bp1GDhwYIXrvv7663BwcMDw4cPRq1cvjZfY9OXv74+UlBR89NFH+L//+z/cvn0bHh4eCA4ORmRkpPKsrWvXrspHAaKjo1GrVi2MGTMGPj4+Kg9xN2/eHLt370Z8fDwyMzNRtWpVNGnSBNu3b1fegwOANWvW4O2338akSZNQVFSE6OhofPvtt2jVqpVWdTs6OmL79u1YuHAh1qxZg4SEBDg5OaF27dro1KmTQcOhS5cuOHHiBObMmYO4uDg8fPgQ3t7eCAsLw4ABA/Ta5qxZs5CRkYExY8bg0aNHCAoKUvtcIVkHiSj9W4PIBkkkEsTGxmLRokXmLoWIjIS9HImIyCYw0IiIyCbwHhrZBV5ZJ7J9PEMjIiKbwEAjIiKbwEAjIiKbYPP30BQKBe7evQsPDw+1Q/cQEZFlE0Lg0aNHCAgIgIOD5vMwmw+0u3fvIjAw0NxlEBFRJaWnp2scpg6wg0ArHhw1PT29zEjhRERkmY5ef4DY9al4UqhARKAbvnsvusLBrm0+0IovM3p6ejLQiIiswKGr9/HO5ksodHRFj8Y+mNevPr57T/2MDyWxUwgREVmMQ1fvY9Tqk5AXKtAt1AeLh7aA1Mmx4hXBQCMiIgtRMsy66hhmAAONiIgsQOkzsyU6hhnAQCMiIjOrzGXGkhhoRERkNoevGSbMAAYaERGZyeFr9zEy0TBhBjDQiIjIDAwdZgADjYiITMwYYQYw0IiIyISMFWYAA42IiEzEmGEGMNCIiMgEjB1mAAONiIiM7NBV44cZwEAjIiIjMtRD09pgoBERkVGYMswABhoRERmBqcMMYKAREZGBmSPMAAYaEREZUGWngKkMBhoRERmEIaaAqQwGGhERVZq5LjOWxEAjIqJKMeQUMJXBQCMiIr2ZYgQQbTHQiIhIL5YUZgADjYiI9GBpYQYw0IiISEeWGGYAA42IiHRgqWEGMNCIiEhLlhxmAAONiIi0YOlhBjDQiIioAtYQZgADjYiIymEtYQYw0IiISANrCjOAgUZERGpYW5gBDDQiIirFGsMMMHOgHTx4ENHR0QgICIBEIsG2bds0th07diwkEgk+//xzk9VHRGRvrDXMADMHWm5uLpo1a4ZFixaV227btm04fvw4AgICTFQZEZH9seYwAwAnc+48KioKUVFR5ba5c+cOxo8fj59//hl9+vQxUWVERPbF2sMMMHOgVUShUGDYsGF4//330bhxY63WkcvlkMvlyvc5OTnGKo+IyCbYQpgBFt4pZP78+XBycsI777yj9ToJCQmQyWTKV2BgoBErJCKybrYSZoAFB9qpU6ewcOFCJCYmQiKRaL3elClTkJ2drXylp6cbsUoiIutlS2EGWHCg/fLLL8jKykKdOnXg5OQEJycn3Lp1C++99x7q1q2rcT2pVApPT0+VFxERqbK1MAMs+B7asGHD0L17d5VlvXr1wrBhwzBixAgzVUVEZP1sMcwAMwfa48ePce3aNeX7tLQ0nDlzBl5eXqhTpw68vb1V2js7O8PPzw8NGzY0dalERDbBVsMMMHOgpaSkoEuXLsr3EydOBADExMQgMTHRTFUREdkmWw4zwMyB1rlzZwghtG5/8+ZN4xVDRGTDbD3MAAvuFEJERIZhD2EGMNCIiGyavYQZwEAjIrJZ9hRmAAONiMgm2VuYAQw0IiKbY49hBjDQiIhsir2GGcBAIyKyGfYcZgADjYjIJth7mAEMNCIiq8cwe4qBRkRkxQ5dZZgVY6AREVmpQ1fvY9RqhlkxBhoRkRVimJXFQCMisjIMM/UYaEREVoRhphkDjYjISpQMs64MszIYaEREVqD0mdkShlkZDDQiIgvHy4zaYaAREVmww9cYZtpioBERWSiOAKIbBhoRkQVimOmOgUZEZGEYZvphoBERWRCGmf4YaEREFoJhVjkMNCIiC8AwqzwGGhGRmXEKGMNgoBERmREfmjYcBhoRkZkwzAyLgUZEZAYMM8NjoBERmRjDzDgYaEREJsQpYIyHgUZEZCKcAsa4GGhERCbAy4zGx0AjIjIyTgFjGgw0IiIj4gggpmPWQDt48CCio6MREBAAiUSCbdu2KT8rKCjApEmT0LRpU7i7uyMgIACvv/467t69a76CiYh0wDAzLbMGWm5uLpo1a4ZFixaV+SwvLw+pqamYPn06UlNTsWXLFly5cgX9+vUzQ6VERLphmJmeRAghzF0EAEgkEmzduhUvvPCCxjYnT55E69atcevWLdSpU0er7ebk5EAmkyE7Oxuenp4GqpaISDOGmWFp+3vcyYQ1VVp2djYkEgmqVaumsY1cLodcLle+z8nJMUFlRERPMczMx2o6heTn52Py5MkYPHhwuQmdkJAAmUymfAUGBpqwSiKyZwwz87KKQCsoKMCgQYOgUCiwePHicttOmTIF2dnZyld6erqJqiQie8YwMz+Lv+RYUFCAAQMGIC0tDfv376/wPphUKoVUKjVRdUREDDNLYdGBVhxmV69eRVJSEry9vc1dEhGRCoaZ5TBroD1+/BjXrl1Tvk9LS8OZM2fg5eWFgIAAvPLKK0hNTcUPP/yAoqIiZGZmAgC8vLzg4uJirrKJiAAwzCyNWbvtJycno0uXLmWWx8TEYObMmQgODla7XlJSEjp37qzVPthtn4iMgWFmOlbRbb9z584oL08t5BE5IiIVDDPLZBW9HImILAXDzHIx0IiItMQws2wMNCIiLTDMLB8DjYioAgwz68BAIyIqB8PMejDQiIg0YJhZFwYaEZEaDDPrw0AjIiqFYWadGGhERCUwzKwXA42I6H8YZtaNgUZEBIaZLWCgEZHdY5jZBgYaEdk1hpntYKARkd1imNkWBhoR2SWGme1hoBGR3WGY2SYGGhHZFYaZ7WKgEZHdYJjZNgYaEdkFhpntY6ARkc1jmNkHBhoR2bRDVxlm9oKBRkQ269DV+xi1mmFmLxhoRGSTGGb2h4FGRDaHYWafGGhEZFMYZvaLgUZENqNkmHVlmNkdBhoR2YTSZ2ZLGGZ2h4FGRFaPlxkJYKARkZU7fI1hRk8x0IjIanEEECqJgUZEVolhRqUx0IjI6jDMSB0GGhFZFYYZacJAIyKrwTCj8pg10A4ePIjo6GgEBARAIpFg27ZtKp8LITBz5kwEBATAzc0NnTt3xvnz581TLBGZFcOMKmLWQMvNzUWzZs2waNEitZ9//PHH+PTTT7Fo0SKcPHkSfn5+6NGjBx49emTiSonInDgFDGnDyZw7j4qKQlRUlNrPhBD4/PPPMXXqVLz00ksAgNWrV8PX1xfr16/H2LFjTVkqEZkJH5ombVnsPbS0tDRkZmaiZ8+eymVSqRSdOnXCkSNHNK4nl8uRk5Oj8iIi68QwI11YbKBlZmYCAHx9fVWW+/r6Kj9TJyEhATKZTPkKDAw0ap1EZBwMM9KVxQZaMYlEovJeCFFmWUlTpkxBdna28pWenm7sEonIwBhmpA+z3kMrj5+fH4CnZ2r+/v7K5VlZWWXO2kqSSqWQSqVGr4+IjINTwJC+LPYMLTg4GH5+ftizZ49y2ZMnT3DgwAG0a9fOjJURkbFwChiqDLOeoT1+/BjXrl1Tvk9LS8OZM2fg5eWFOnXqIC4uDnPnzkWDBg3QoEEDzJ07F1WqVMHgwYPNWDURGQMvM1JlmTXQUlJS0KVLF+X7iRMnAgBiYmKQmJiIDz74AH///TfGjRuHhw8fok2bNti9ezc8PDzMVTIRGQGngCFDkAghhLmLMKacnBzIZDJkZ2fD09PT3OUQUSkcAYQqou3vcYu9h0ZEto9hRobEQCMis2CYkaEx0IjI5BhmZAwMNCIyKYYZGQsDjYhMhmFGxsRAIyKTYJiRsTHQiMjoGGZkCgw0IjIqhhmZCgONiIyGYUamxEAjIqNgmJGpMdCIyOAYZmQODDQiMiiGGZkLA42IDIZhRubEQCMig2CYkbkx0Iio0hhmZAnMOsEnEVmPIoXAibQ/kfUoHz4ermgd7AVHBwnDjCwGA42IKrTrtwzM2nEBGdn5ymX+MlcMbFUbSw7cYJiRRWCgEVG5dv2WgbfWpqL01PYZ2fn4fN81AGCYkUXgPTQi0qhIITBrx4UyYVaS1MkBXw4OZ5iR2Wl9hvbFF19ovdF33nlHr2KIyLKcSPtT5TKjOvJCBc6mZyMixNtEVRGpp3WgffbZZyrv7927h7y8PFSrVg0A8Ndff6FKlSrw8fFhoBFZEE2dObSR9aj8MNO1HZExaR1oaWlpyv9ev349Fi9ejBUrVqBhw4YAgMuXL2PMmDEYO3as4askIr1o6swRHx2GyCb+Fa7v4+Gq1X60bUdkTBIhRHmXx9UKCQnBpk2bEB4errL81KlTeOWVV1TCz9xycnIgk8mQnZ0NT09Pc5dDZDKaOnMUn5stGdqiwlArUgi0n79f42VHCQA/mSsOTeqq9Vkfka60/T2uV6eQjIwMFBQUlFleVFSEP/74Q59NEpEBldeZo3jZrB0XUKQo/+9ZRwcJBraqrfaz4viKjw5jmJFF0CvQunXrhjFjxiAlJQXFJ3gpKSkYO3YsunfvbtACiUh3FXXmEHja7f5E2p/KZUUKgaPXH+D7M3dw9PoDFCkEDl+7jyUHbgB42puxJD+Zq1ZneUSmotdzaCtXrkRMTAxat24NZ2dnAEBhYSF69eqF//znPwYtkIh0p2tnDnX32rzcnfEovxAFRQLdQn3w5eBwnE3P1qtzCZEp6BVoNWvWxM6dO3HlyhVcunQJQgg0atQIzzzzjKHrIyI96NKZQ9O9tj9zn95WaFrLU/nQNLvmkyWr1EghdevWhRACISEhcHLioCNElqJ1sBf8Za7IzM5Xex+tuDNHy6Dq6PR/SeU+OH3vkRxODhyDgSyfXv+X5uXlYdSoUahSpQoaN26M33//HcDTB6rnzZtn0AKJSHeODhLER4cB+KfzRrGSnTlO3XpY4YPTmTlylXttRJZKr0CbMmUKzp49i+TkZLi6/nNpo3v37ti4caPBiiMi/UU28ceSoS3gJ1O9/FiyMwcfnCZbotd1wm3btmHjxo1o27YtJJJ//v4LCwvD9evXDVYcEVVOZBN/9Ajz0zhSCB+cJluiV6Ddu3cPPj4+ZZbn5uaqBBwRmUaRQuDY9Qc4euM+AAkiQrzRtp43HB0kcHSQaOzM0TrYC17uzsoOIKUV32trHexlvOKJDESvQHvuuefw448/4u233wYAZYgtX74cERERhquOiCq067cMTN5yDn/l/RNKi5KuoVoVZ8x7qWm5z4kdvf4Aj/IL1X7GB6fJ2uh1Dy0hIQFTp07FW2+9hcLCQixcuBA9evRAYmIi5syZY7DiCgsLMW3aNAQHB8PNzQ316tXDhx9+CIVCYbB9EFmzXb9l4M21qSphVuyvvAK8uTYVu37LULvuoav3MWr1SRQUCTSt5Qk/T6nK53xwmqyNXmdo7dq1w+HDh7FgwQKEhIRg9+7daNGiBY4ePYqmTZsarLj58+dj6dKlWL16NRo3boyUlBSMGDECMpkMEyZMMNh+iKxRkUJg5vbzFbabteMCeoT5qZxlFYdZyZmmnRwc9B6Vn8gS6DU4san07dsXvr6+WLFihXLZyy+/jCpVqmDNmjVabYODE5OtOnr9AV5bfkyrtuO71Mfz9WugdbAXjl5/UCbMODknWTKjDk7cpUsXrFixAtnZ2XoXqI327dtj3759uHLlCgDg7NmzOHToEHr37m3U/RJZA1260i9KuobXlh/Dc3P2YETiCcgLFejKMCMbo1egNW3aFNOmTYOfnx9efvllbNu2DU+ePDF0bZg0aRJee+01hIaGwtnZGeHh4YiLi8Nrr72mcR25XI6cnByVF5Et0qcr/Z+5Bcp7ZksYZmRj9Aq0L774Anfu3MH3338PDw8PxMTEwM/PD2+88QYOHDhgsOI2btyItWvXYv369UhNTcXq1auxYMECrF69WuM6CQkJkMlkyldgYKDB6iEyp9Kj4T94JIe+t7g4nBXZIoPcQ8vPz8eOHTswZ84cnDt3DkVFRYaoDYGBgZg8eTJiY2OVy2bPno21a9fi0qVLateRy+WQy+XK9zk5OQgMDOQ9NLJq6kbDr6xvx7TlYMNkFbS9h1bpEYUzMzOxYcMGrF27Fr/++iuee+65ym5SKS8vDw6l/op0dHQst9u+VCqFVCrV+DmRtdE0Gn5lcTgrsjV6BVpOTg42b96M9evXIzk5GfXq1cPgwYOxYcMG1K9f32DFRUdHY86cOahTpw4aN26M06dP49NPP8XIkSMNtg8iS1bezNOVxeGsyNboFWi+vr6oXr06BgwYgLlz5xr0rKykL7/8EtOnT8e4ceOQlZWFgIAAjB07FjNmzDDK/ogsTUUzT+uDw1mRrdI50IQQWLhwIYYOHYoqVaoYoyYlDw8PfP755/j888+Nuh8iS2Xoy4Iczopsmc7dnIQQGD9+PO7cuWOMeoiohMpcFmwSwOGsyL7ofIbm4OCABg0a4MGDB2jQoIExaiKi/3mYq9/znU1reWLTW+04nBXZFb0eRPn444/x/vvv47fffjN0PUT0P0UKgY9+vKDzesVhJnVyVE4d0795LUSEeDPMyKbp1Slk6NChyMvLQ7NmzeDi4gI3NzeVz//8k9O1E1WWPh1CujSsiaXDWnIEELJLegUaO2kQGZ8+HUJGPB/MMCO7pVegxcTEGLoOIiqlRlXdBwh4mGf4MVWJrIXeg7ldv34d06ZNw2uvvYasrCwAwK5du3D+fMXzMxGRFvR4mpoPS5M90yvQDhw4gKZNm+L48ePYsmULHj9+DAD49ddfER8fb9ACiezV/Vx5xY1K8OfD0mTn9Aq0yZMnY/bs2dizZw9cXFyUy7t06YKjR48arDgie3bzfq5O7fmwNNk7ve6hnTt3DuvXry+zvGbNmnjw4EGliyKyJ0UKUeZZsT0XMvHZ3qtarV/NzQnzXn6WD0uT3dMr0KpVq4aMjAwEBwerLD99+jRq1aplkMKI7IG6aWH8PKXIL9Q8o0RJfZ/1x8JB4TwzI4KelxwHDx6MSZMmITMzExKJBAqFAocPH8a//vUvvP7664aukcgmFU8LU/pZs8wcOf7KK6hw/QndGmDR4BYMM6L/0SvQiqd0qVWrFh4/foywsDB07NgR7dq1w7Rp0wxdI5HNMcS0MPVquhusHiJboNclR2dnZ6xbtw4fffQRUlNToVAoEB4ezrEdibRkiGlh2EWfSFWlZqyuV68e6tWrh6KiIpw7dw4PHz5E9erVDVUbkc2qzLQwnM+MSD29LjnGxcVhxYoVAICioiJ06tQJLVq0QGBgIJKTkw1ZH5FN0vfsivOZEWmmV6Bt2rQJzZo1AwDs2LEDN27cwKVLlxAXF4epU6catEAiW1KkEDh6/QEyc/Lh5e6s8/qcz4xIM70uOd6/fx9+fn4AgJ07d2LAgAF45plnMGrUKHzxxRcGLZDI2qh7rszRQaK2i74uxnepj3d7PMMzMyIN9Ao0X19fXLhwAf7+/ti1axcWL14MAMjLy4OjI0f6JvulLrT8Za7o18wfXx9Mq1Svxufr12CYEZVDr0AbMWIEBgwYAH9/f0gkEvTo0QMAcPz4cYSGhhq0QCJrUfxcWenQyszOx7KDaZXatoMEaBnEDldE5dEr0GbOnIkmTZogPT0dr776KqTSp9NcODo6YvLkyQYtkMgalPdcWWXOyoopBHDq1kNEhHgbYGtEtknvbvuvvPJKmWWcJ43slSGeK6tIZbr6E9kDvedD27dvH/r27YuQkBDUr18fffv2xd69ew1ZG5HVMEXY8EFqovLpFWiLFi1CZGQkPDw8MGHCBLzzzjvw9PRE7969sWjRIkPXSGTxjBk2EnCuMyJtSIQQOl/ir1WrFqZMmYLx48erLP/qq68wZ84c3L1712AFVlZOTg5kMhmys7Ph6elp7nLIRhUpBNrP34/M7HyD3DMrVtynkc+ekT3T9ve4XmdoOTk5iIyMLLO8Z8+eyMnJ0WeTRFbN0UGC+OgwAP+EkC683J0xol1QmYet+SA1kfb06hTSr18/bN26Fe+//77K8u+//x7R0dEGKYzI2kQ28ceSoS3UPofWok41/Hgus8w6xeE398WmiGzij2l9G6t9KJuIKqZ1oJUcAaRRo0aYM2cOkpOTERERAQA4duwYDh8+jPfee8/wVRJZicgm/ugR5qcSSgVFCoz5JgUAIHVygLzE5J1+MlfER4cpz8AcHSTsmk+kJ63voZWenVrjBiUS3Lhxo1JFGRLvoVFlaBrGSluHr93HyMSTkBcq0C3UB18ODsfZ9GyegRHpQNvf41qfoaWllR3p4P79+5BIJPD25l+UZDuKQ2zvhUxsPXMHf+b+M3u0f6kzqvKUDrPFQ1tA6uTIMzAiI9G5U8hff/2F2NhY1KhRA76+vvDx8UGNGjUwfvx4/PXXX0Yokch0dv2Wgfbz9+O15cew4vBNlTADng5j9dbaVOz6LaPc7ZQMsxZ1qqF3Uz+k3voLRQpD9oEkopJ06rb/559/IiIiAnfu3MGQIUPQqFEjCCFw8eJFrF+/HoGBgThy5IhFTfLJS46kLU1jMZZWPMHmoUld1V4uLBlmpe+Z6XKGR0RPaft7XKdAi4uLw759+7B37174+vqqfJaZmYmePXuiW7du+Oyzz/Sv3MAYaKSN4ufIdBm+6tsxbctcPiwZZurwuTIi3RnlObRt27ZhwYIFZcIMAPz8/PDxxx9j69atuldLZGb6jMVYerir0mdm6hT/9ThrxwVefiQyMJ0CLSMjA40bN9b4eZMmTZCZWfZZm8q4c+cOhg4dCm9vb1SpUgXNmzfHqVOnDLoPIn3GYiw53FXpe2aaztCAp6GWkZ2PE2l/6lMqEWmgU6DVqFEDN2/e1Ph5WlqaQXs8Pnz4EM8//zycnZ3x008/4cKFC/jkk09QrVo1g+2DCNBtLMbSYyuW7s04pE0drbbD0fOJDEunkUIiIyMxdepU7NmzBy4uLiqfyeVyTJ8+Xe2QWPqaP38+AgMDsWrVKuWyunXrGmz7RMVaB3vBX+aq9ViM8dFhcHSQqO2an3rrL632ydHziQxLp04ht2/fRqtWrSCVShEbG6ucnfrChQtYvHgx5HI5UlJSEBgYaJDiwsLC0KtXL9y+fRsHDhxArVq1MG7cOIwZM0brbbBTCGmruJcjoHlSzpK9FDU9Z1bRQMUV9ZIkIlVG6eUIPL2sOG7cOOzevRvFq0okEvTo0QOLFi1C/fr1K1d5Ca6uT/+CnThxIl599VWcOHECcXFxWLZsGV5//XW168jlcsjlcuX7nJwcBAYGMtBIK7t+yygzFqO3uwv6Nw9AjzA/5cgemsKs5HbUhSN7ORLpzmiBVuzhw4e4evUqAKB+/frw8jL8XE0uLi5o1aoVjhw5olz2zjvv4OTJkzh69KjadWbOnIlZs2aVWc5AI21VNNxVRWFWTF048jk0It0ZPdBMISgoCD169MB//vMf5bIlS5Zg9uzZuHPnjtp1eIZGxqRtmBWr7FiQRGSEsRzN4fnnn8fly5dVll25cgVBQUEa15FKpZBKpcYujeyQrmEGcPR8IlPSa4JPU3n33Xdx7NgxzJ07F9euXcP69evx9ddfIzY21tylkZ3RJ8yIyLQsOtCee+45bN26Fd9++y2aNGmCjz76CJ9//jmGDBli7tLIjhy6yjAjsgYWfQ/NENhtnyrj0NX7GLWaYUZkTkYZy5HInjDMiKwLA41IDYYZkfWx6F6ORKZQumt9QZECY75JYZgRWRkGGtk1dQ8/F+vKMCOyKgw0slsVzVD9YngAw4zIivAeGtmlIoXArB0Xyh1Zf+7OS5yEk8iKMNDILmkzQzUn4SSyLgw0skvaTq7JSTiJrAcDjeyStpNrchJOIuvBTiFklwqKFOV+XjwJZ+tgw0+LRETGwTM0sjuHr93HmG9SNH5ePLlLfHQYp3ohsiIMNLIrpUfN//K15vCXqV5W9JO5ckZpIivES45kNzRNAdO7aQAn4SSyAQw0sgvljc3ISTiJbAMvOZLN40DDRPaBgUY2jWFGZD8YaGSzGGZE9oWBRjaJYUZkfxhoZHNKhhmngCGyHww0simlz8yWMMyI7AYDjWwGLzMS2TcGGtmEw9cYZkT2joFGVk/TCCBEZF8YaGTVGGZEVIyBRlaLYUZEJTHQyCoxzIioNA5OTGZXpBA6jXbPMCMidRhoZFa7fsvArB0XkJGdr1zmL3NFfHSY2vnIGGZEpAkvOZLZ7PotA2+tTVUJMwDIzM7HW2tTseu3DJXlDDMiKg8DjcyiSCEwa8cFCDWfFS+bteMCihRP3zHMiKgivORIZnEi7c8yZ2YlCQAZ2fk4kfYnFEIwzIioQgw0MousR5rDrKRfrt7DikNpDDMiqhADjczCx8NVq3bLf7mBgiLBMCOiCvEeGplF62Av+Mtcoblz/lMMMyLSllUFWkJCAiQSCeLi4sxdClWSo4ME8dFhAFBuqDHMiEhbVhNoJ0+exNdff41nn33W3KWQgUQ28ceSoS3gJ1N/+ZFhRkS6sIpAe/z4MYYMGYLly5ejevXq5i6HDCiyiT8OTeqKb8e0xbjOIXB2fHq+xjAjIl1ZRaDFxsaiT58+6N69e4Vt5XI5cnJyVF5k2RwdJFAIgRWH0njPjIj0ZvG9HDds2IDU1FScPHlSq/YJCQmYNWuWkasiTXQdlxHgQ9NEZBgWHWjp6emYMGECdu/eDVdX7bp5T5kyBRMnTlS+z8nJQWBgoLFKpBJ0HZcRYJgRkeFIhBDqRh+yCNu2bcOLL74IR8d/fsEVFRVBIpHAwcEBcrlc5TN1cnJyIJPJkJ2dDU9PT2OXbLeKx2Us/T9T8bnZkqEtyoQaw4yItKHt73GLPkPr1q0bzp07p7JsxIgRCA0NxaRJkyoMMzKNisZllODpuIw9wvyUlx8ZZkRkaBYdaB4eHmjSpInKMnd3d3h7e5dZTuajy7iMESHeDDMiMgqr6OVIlk3bcRmzHuUzzIjIaCz6DE2d5ORkc5dApWg7LmNWjhwfbPqVYUZERsEzNKq0isZllADwcnfGgt2XGWZEZDQMNKq08sZllODpPbRH+YUMMyIyKgYaGYSmcRmruzvD2VHCEUCIyOis7h4aWa7IJv7oEeanHCkkK0eOBbsvM8yIyCR4hkYG5eggQUSIN2pUlfKeGRGZFAONDI5d84nIHBhoZFAMMyIyFwYaGQzDjIjMiYFGBsEwIyJzY6BRpR26yjAjIvNjoFGlHLp6H6NWM8yIyPwYaKQ3hhkRWRIGGumFYUZEloaBRjpjmBGRJeLQV1ShIoVQDmf1R44cn/xvBJCuDDMisiAMNCrXrt8yMGvHhTIzUjet5YklDDMisiC85Ega7fotA2+tTS0TZgBw7k4Oki5lmaEqIiL1GGikVpFCYNaOCxAaPpcAmLXjAooUmloQEZkWA43UOpH2p9ozs2ICQEZ2Pk6k/Wm6ooiIysFAI7WyHmkOM33aEREZGwON1MrKkWvVzsfDteJGREQmwF6OVMbha/exYPflcttIAPjJXNE62Ms0RRERVYBnaKSi5Kj5TWt5AngaXiUVv4+PDoOjQ+lPiYjMg4FGSqWngNn0VjssHdoCfjLVy4p+MlcsGdoCkU38zVQpEVFZvORIADQPZxXZxB89wvyUI4X4eDy9zMgzMyKyNAw0qnBsRkcHCSJCvM1YIRFRxXjJ0c5xoGEishUMNDvGMCMiW8JAs1MMMyKyNQw0O1QyzDgFDBHZCgaanSl9ZsYpYIjIVjDQ7AgvMxKRLWOg2YnD1xhmRGTbGGh2oPQIIAwzIrJFFh1oCQkJeO655+Dh4QEfHx+88MILuHy5/EFzSRXDjIjshUUH2oEDBxAbG4tjx45hz549KCwsRM+ePZGbm2vu0qwCw4yI7IlECCHMXYS27t27Bx8fHxw4cAAdO3bUap2cnBzIZDJkZ2fD09PTyBVaDoYZEdkKbX+PW9VYjtnZ2QAALy/Nc3DJ5XLI5f9MTpmTk2P0uiwNw4yI7JFFX3IsSQiBiRMnon379mjSpInGdgkJCZDJZMpXYGCgCas0P4YZEdkrq7nkGBsbix9//BGHDh1C7dq1NbZTd4YWGBhoF5ccGWZEZIts6pLj22+/je3bt+PgwYPlhhkASKVSSKVSE1VmORhmRGTvLDrQhBB4++23sXXrViQnJyM4ONjcJVkkhhkRkYUHWmxsLNavX4/vv/8eHh4eyMzMBADIZDK4ubmZuTrLwDAjInrKou+hSSQStctXrVqF4cOHa7UNW+62zzAjIntgE/fQLDhrzY5hRkSkymq67dM/GGZERGUx0KwMw4yISD0GmhVhmBERacZAsxIMMyKi8jHQrADDjIioYgw0C8cwIyLSDgPNgjHMiIi0x0CzUAwzIiLdMNAsEMOMiEh3DDQLwzAjItIPA82CMMyIiPTHQLMQDDMiosphoFkAhhkRUeUx0MyMYUZEZBgMNDNimBERGQ4DzUwYZkREhsVAMwOGGRGR4THQTIxhRkRkHAw0E2KYEREZDwPNRBhmRETGxUAzgUNXGWZERMbGQDOyQ1fvY9RqhhkRkbEx0IyIYUZEZDoMNCNhmBERmRYDzQgYZkREpsdAM7CSYdaVYUZEZDIMNAMqfWa2hGFGRGQyDDQD4WVGIiLzYqAZwOFrDDMiInNjoFUSRwAhIrIMDLRKYJgREVkOBpqeGGZERJaFgaYHhhkRkeVhoOmIYUZEZJmsItAWL16M4OBguLq6omXLlvjll1/MUgfDjIjIcll8oG3cuBFxcXGYOnUqTp8+jQ4dOiAqKgq///67SevgFDBERJZNIoQQ5i6iPG3atEGLFi2wZMkS5bJGjRrhhRdeQEJCQoXr5+TkQCaTITs7G56ennrVwIemiYjMR9vf4xZ9hvbkyROcOnUKPXv2VFnes2dPHDlyRO06crkcOTk5Kq/KYJgREVkHiw60+/fvo6ioCL6+virLfX19kZmZqXadhIQEyGQy5SswMFDv/TPMiIish0UHWjGJRKLyXghRZlmxKVOmIDs7W/lKT0/Xa58MMyIi6+Jk7gLKU6NGDTg6OpY5G8vKyipz1lZMKpVCKpVWar+cAoaIyPpY9Bmai4sLWrZsiT179qgs37NnD9q1a2eUfXIKGCIi62TRZ2gAMHHiRAwbNgytWrVCREQEvv76a/z+++948803Db4vXmYkIrJeFh9oAwcOxIMHD/Dhhx8iIyMDTZo0wc6dOxEUFGTQ/XAKGCIi62bxz6FVljbPL3AEECIiy2UTz6GZAsOMiMg22HWgMcyIiGyH3QYaw4yIyLbYZaAxzIiIbI/dBRrDjIjINtlVoDHMiIhsl8U/h2Yox64/wNubLzHMiIhslN2coY1bn8owIyKyYXYTaE8YZkRENs3mLzkWD4QSEeiGef3qQ56XC7mZayIiIu0VT9Rc0cBWNj/01e3btys1yScREVmG9PR01K5dW+PnNh9oCoUCd+/ehYeHh8ZJQSuSk5ODwMBApKenlzuOmLXi97Nu/H7Wjd+vYkIIPHr0CAEBAXBw0HynzOYvOTo4OJSb6Lrw9PS0yf/hivH7WTd+P+vG71c+mUxWYRu76RRCRES2jYFGREQ2gYGmBalUivj4eEilUnOXYhT8ftaN38+68fsZjs13CiEiIvvAMzQiIrIJDDQiIrIJDDQiIrIJDDQiIrIJDLT/Wbx4MYKDg+Hq6oqWLVvil19+Kbf9gQMH0LJlS7i6uqJevXpYunSpiSrVTUJCAp577jl4eHjAx8cHL7zwAi5fvlzuOsnJyZBIJGVely5dMlHV2ps5c2aZOv38/Mpdx1qOHQDUrVtX7bGIjY1V297Sj93BgwcRHR2NgIAASCQSbNu2TeVzIQRmzpyJgIAAuLm5oXPnzjh//nyF2928eTPCwsIglUoRFhaGrVu3GukblK+871dQUIBJkyahadOmcHd3R0BAAF5//XXcvXu33G0mJiaqPab5+flG/jZlVXT8hg8fXqbOtm3bVrhdQx0/BhqAjRs3Ii4uDlOnTsXp06fRoUMHREVF4ffff1fbPi0tDb1790aHDh1w+vRp/Pvf/8Y777yDzZs3m7jyih04cACxsbE4duwY9uzZg8LCQvTs2RO5ubkVrnv58mVkZGQoXw0aNDBBxbpr3LixSp3nzp3T2Naajh0AnDx5UuW77dmzBwDw6quvlruepR673NxcNGvWDIsWLVL7+ccff4xPP/0UixYtwsmTJ+Hn54cePXrg0aNHGrd59OhRDBw4EMOGDcPZs2cxbNgwDBgwAMePHzfW19CovO+Xl5eH1NRUTJ8+HampqdiyZQuuXLmCfv36VbhdT09PleOZkZEBV1dXY3yFclV0/AAgMjJSpc6dO3eWu02DHj9BonXr1uLNN99UWRYaGiomT56stv0HH3wgQkNDVZaNHTtWtG3b1mg1GkpWVpYAIA4cOKCxTVJSkgAgHj58aLrC9BQfHy+aNWumdXtrPnZCCDFhwgQREhIiFAqF2s+t6dgBEFu3blW+VygUws/PT8ybN0+5LD8/X8hkMrF06VKN2xkwYICIjIxUWdarVy8xaNAgg9esi9LfT50TJ04IAOLWrVsa26xatUrIZDLDFmcA6r5fTEyM6N+/v07bMeTxs/sztCdPnuDUqVPo2bOnyvKePXviyJEjatc5evRomfa9evVCSkoKCgoKjFarIWRnZwMAvLy8KmwbHh4Of39/dOvWDUlJScYuTW9Xr15FQEAAgoODMWjQINy4cUNjW2s+dk+ePMHatWsxcuTICgfatpZjV1JaWhoyMzNVjo9UKkWnTp00/lsENB/T8taxFNnZ2ZBIJKhWrVq57R4/foygoCDUrl0bffv2xenTp01ToB6Sk5Ph4+ODZ555BmPGjEFWVla57Q15/Ow+0O7fv4+ioiL4+vqqLPf19UVmZqbadTIzM9W2LywsxP37941Wa2UJITBx4kS0b98eTZo00djO398fX3/9NTZv3owtW7agYcOG6NatGw4ePGjCarXTpk0bfPPNN/j555+xfPlyZGZmol27dnjw4IHa9tZ67ABg27Zt+OuvvzB8+HCNbazp2JVW/O9Nl3+Lxevpuo4lyM/Px+TJkzF48OByB+0NDQ1FYmIitm/fjm+//Raurq54/vnncfXqVRNWq52oqCisW7cO+/fvxyeffIKTJ0+ia9eukMs1z0JpyONn86Pta6v0X7xCiHL/ClbXXt1ySzJ+/Hj8+uuvOHToULntGjZsiIYNGyrfR0REID09HQsWLEDHjh2NXaZOoqKilP/dtGlTREREICQkBKtXr8bEiRPVrmONxw4AVqxYgaioKAQEBGhsY03HThNd/y3qu445FRQUYNCgQVAoFFi8eHG5bdu2bavSseL5559HixYt8OWXX+KLL74wdqk6GThwoPK/mzRpglatWiEoKAg//vgjXnrpJY3rGer42f0ZWo0aNeDo6Fjmr4GsrKwyfzUU8/PzU9veyckJ3t7eRqu1Mt5++21s374dSUlJek2n07ZtW4v8i7A0d3d3NG3aVGOt1njsAODWrVvYu3cvRo8erfO61nLsinun6vJvsXg9Xdcxp4KCAgwYMABpaWnYs2ePzlOqODg44LnnnrOKY+rv74+goKByazXk8bP7QHNxcUHLli2VvceK7dmzB+3atVO7TkRERJn2u3fvRqtWreDs7Gy0WvUhhMD48eOxZcsW7N+/H8HBwXpt5/Tp0/D39zdwdYYnl8tx8eJFjbVa07EradWqVfDx8UGfPn10Xtdajl1wcDD8/PxUjs+TJ09w4MABjf8WAc3HtLx1zKU4zK5evYq9e/fq9UeUEAJnzpyximP64MEDpKenl1urQY+fzt1IbNCGDRuEs7OzWLFihbhw4YKIi4sT7u7u4ubNm0IIISZPniyGDRumbH/jxg1RpUoV8e6774oLFy6IFStWCGdnZ7Fp0yZzfQWN3nrrLSGTyURycrLIyMhQvvLy8pRtSn+/zz77TGzdulVcuXJF/Pbbb2Ly5MkCgNi8ebM5vkK53nvvPZGcnCxu3Lghjh07Jvr27Ss8PDxs4tgVKyoqEnXq1BGTJk0q85m1HbtHjx6J06dPi9OnTwsA4tNPPxWnT59W9vKbN2+ekMlkYsuWLeLcuXPitddeE/7+/iInJ0e5jWHDhqn0QD58+LBwdHQU8+bNExcvXhTz5s0TTk5O4tixYxb1/QoKCkS/fv1E7dq1xZkzZ1T+Pcrlco3fb+bMmWLXrl3i+vXr4vTp02LEiBHCyclJHD9+3KK+36NHj8R7770njhw5ItLS0kRSUpKIiIgQtWrVMtnxY6D9z1dffSWCgoKEi4uLaNGihUq39piYGNGpUyeV9snJySI8PFy4uLiIunXriiVLlpi4Yu0AUPtatWqVsk3p7zd//nwREhIiXF1dRfXq1UX79u3Fjz/+aPritTBw4EDh7+8vnJ2dRUBAgHjppZfE+fPnlZ9b87Er9vPPPwsA4vLly2U+s7ZjV/xYQelXTEyMEOJp1/34+Hjh5+cnpFKp6Nixozh37pzKNjp16qRsX+y///2vaNiwoXB2dhahoaFmC/Dyvl9aWprGf49JSUnKbZT+fnFxcaJOnTrCxcVF1KxZU/Ts2VMcOXLE9F9OlP/98vLyRM+ePUXNmjWFs7OzqFOnjoiJiRG///67yjaMefw4fQwREdkEu7+HRkREtoGBRkRENoGBRkRENoGBRkRENoGBRkRENoGBRkRENoGBRkRENoGBRmRFZs6ciebNmyvfDx8+HC+88ILJ67h58yYkEgnOnDlj8n0TacJAIzKAklPPOzs7o169evjXv/6l1czglbFw4UIkJiZq1ZYhRLaO08cQGUhkZCRWrVqFgoIC/PLLLxg9ejRyc3OxZMkSlXYFBQUGGwhZJpMZZDtEtoBnaEQGIpVK4efnh8DAQAwePBhDhgzBtm3blJcJV65ciXr16kEqlUIIgezsbLzxxhvw8fGBp6cnunbtirNnz6psc968efD19YWHhwdGjRqF/Px8lc9LX3JUKBSYP38+6tevD6lUijp16mDOnDkAoJxpITw8HBKJBJ07d1aut2rVKjRq1Aiurq4IDQ0tM0fXiRMnEB4eDldXV7Rq1cqiZ0wm+8UzNCIjcXNzQ0FBAQDg2rVr+O6777B582Y4OjoCAPr06QMvLy/s3LkTMpkMy5YtQ7du3XDlyhV4eXnhu+++Q3x8PL766it06NABa9aswRdffIF69epp3OeUKVOwfPlyfPbZZ2jfvj0yMjJw6dIlAE9DqXXr1ti7dy8aN24MFxcXAMDy5csRHx+PRYsWITw8HKdPn8aYMWPg7u6OmJgY5Obmom/fvujatSvWrl2LtLQ0TJgwwcg/PSI96DWkMRGpiImJEf3791e+P378uPD29hYDBgwQ8fHxwtnZWWRlZSk/37dvn/D09BT5+fkq2wkJCRHLli0TQggREREh3nzzTZXP27RpI5o1a6Z2vzk5OUIqlYrly5errbF4tPfTp0+rLA8MDBTr169XWfbRRx+JiIgIIYQQy5YtE15eXiI3N1f5+ZIlS9Rui8iceMmRyEB++OEHVK1aFa6uroiIiEDHjh3x5ZdfAgCCgoJQs2ZNZdtTp07h8ePH8Pb2RtWqVZWvtLQ0XL9+HQBw8eJFREREqOyj9PuSLl68CLlcjm7dumld871795Ceno5Ro0ap1DF79myVOpo1a4YqVapoVQeRufCSI5GBdOnSBUuWLIGzszMCAgJUOn64u7urtFUoFPD390dycnKZ7VSrVk2v/bu5uem8jkKhAPD0smObNm1UPiu+NCo4wxRZCQYakYG4u7ujfv36WrVt0aIFMjMz4eTkhLp166pt06hRIxw7dgyvv/66ctmxY8c0brNBgwZwc3PDvn37MHr06DKfF98zKyoqUi7z9fVFrVq1cOPGDQwZMkTtdsPCwrBmzRr8/fffytAsrw4ic+ElRyIz6N69OyIiIvDCCy/g559/xs2bN3HkyBFMmzYNKSkpAIAJEyZg5cqVWLlyJa5cuYL4+HicP39e4zZdXV0xadIkfPDBB/jmm29w/fp1HDt2DCtWrAAA+Pj4wM3NDbt27cIff/yB7OxsAE8f1k5ISMDChQtx5coVnDt3DqtWrcKnn34KABg8eDAcHBwwatQoXLhwATt37sSCBQuM/BMi0h0DjcgMJBIJdu7ciY4dO2LkyJF45plnMGjQINy8eRO+vr4AgIEDB2LGjBmYNGkSWrZsiVu3buGtt94qd7vTp0/He++9hxkzZqBRo0YYOHAgsrKyAABOTk744osvsGzZMgQEBKB///4AgNGjR+M///kPEhMT0bRpU3Tq1AmJiYnKbv5Vq1bFjh07cOHCBYSHh2Pq1KmYP3++EX86RPqRCF4gJyIiG8AzNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgkMNCIisgn/D5xqtIEqthJgAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2502±0.0478 95CI=(0.1741, 0.3270)\n", - " MSE: 0.0899±0.0248 95CI=(0.0481, 0.1287)\n", - " R2: 0.9256±0.0927 95CI=(0.7208, 0.9744)\n", - "RMSE: 0.2965±0.0442 95CI=(0.2193, 0.3587)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2407±0.0668 95CI=(0.1341, 0.3498)\n", - " MSE: 0.1029±0.0430 95CI=(0.0386, 0.1756)\n", - " R2: 0.8805±0.1336 95CI=(0.6998, 0.9789)\n", - "RMSE: 0.3131±0.0702 95CI=(0.1965, 0.4191)\n" - ] - }, - { - "data": { - "image/png": "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lPd/++034enpKUaOHCni4uKEo6OjyMvLUz6+b98+4e7uLoqLi1XWExwcLFatWiWEECI8PFy88sorKo936tRJtGnTRu3zFhQUCKlUKlavXq12jIqzvaenp6tM9/f3Fxs3blSZ9t5774nw8HAhhBCrVq0SHh4eorCwUPn4ihUr1K6LyJS4y5FIT3744QfUrVsXzs7OCA8PR/fu3fHpp58CAAIDA9GgQQPlvCdOnMCDBw/g6emJunXrKm+ZmZm4cuUKAODcuXMIDw9XeY6K9x937tw5yOVy9OnTR+sx//XXX8jOzsbkyZNVxvH++++rjKNNmzaoU6eOVuMgMhXuciTSk169emHFihVwdHSEn5+fyoEfrq6uKvOWl5fD19cXycnJldZTr149nZ7fxcWlxsuUl5cDeLTbsVOnTiqPKXaNCl5hiiwEg0akJ66urmjatKlW87Zr1w65ublwcHBA48aN1c7TokULHD16FBMnTlROO3r0qMZ1NmvWDC4uLti3bx9eeumlSo8rPjMrKytTTvP29kbDhg1x9epVjBs3Tu16W7Zsia+++gp///23MppVjYPIVLjLkcgE+vbti/DwcAwfPhw///wzsrKycPjwYbz11ltITU0FAMyYMQNr167F2rVrcfHiRcTFxeHs2bMa1+ns7IxZs2bhzTffxJdffokrV67g6NGjWLNmDQDAy8sLLi4u2L17N/7880/k5+cDePRl7fj4eHz88ce4ePEiTp8+jXXr1uGDDz4AAIwdOxZ2dnaYPHkyMjIysGvXLixdutTA/0JENcegEZmARCLBrl270L17d7z44ot48sknMXr0aGRlZcHb2xsAMGrUKLzzzjuYNWsW2rdvj2vXruHVV1+tcr1vv/023njjDbzzzjto0aIFRo0ahby8PACAg4MDPvnkE6xatQp+fn4YNmwYAOCll17CF198gYSEBLRu3Ro9evRAQkKC8jD/unXrYufOncjIyEBYWBjmzp2LxYsXG/Bfh0g3EsEd5EREZAW4hUZERFaBQSMiIqvAoBERkVVg0IiIyCowaEREZBUYNCIisgoMGhERWQUGjYiIrAKDRkREVoFBIyIiq8CgERGRVWDQiIjIKvw/TB+JfsCVWIYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2184±0.0412 95CI=(0.1494, 0.2931)\n", - " MSE: 0.0677±0.0226 95CI=(0.0337, 0.1112)\n", - " R2: 0.9445±0.0340 95CI=(0.8591, 0.9810)\n", - "RMSE: 0.2566±0.0429 95CI=(0.1835, 0.3335)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2151±0.0706 95CI=(0.1024, 0.3471)\n", - " MSE: 0.0725±0.0384 95CI=(0.0157, 0.1419)\n", - " R2: 0.8086±0.5423 95CI=(0.6794, 0.9825)\n", - "RMSE: 0.2586±0.0750 95CI=(0.1254, 0.3767)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9jElEQVR4nO3dd1gUd+LH8c/SFkRYBaVKE42V2Av2ihpLzMVYoxiNlxjUoN5FjUkkxaBezh5JYlTMGVPOQmL0LFEhsWAJGAsqFlSicMaSXcFjpXx/f/hj4wILy7J19vN6nn2eMDsz+10n8nZmZ3ZkQggBIiIiG+dg6QEQEREZA4NGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERSQKDRlYjPT0dw4cPR0BAAGrVqoWmTZvivffew8OHD436OqGhoRgyZEi56Z9//jkcHR0xbNgwFBQU6Fz+2rVrkMlkSExM1EyLi4uDTCaDg4MDrl69Wm6Z/Px8eHp6QiaTYeLEicZ4G1QDmzdvxvLlyy09DDIyBo2sQkZGBrp06YJr165h+fLl+OGHHzB69Gi89957GDNmjMlf/x//+AemTJmCcePGYdu2bXB1dTVoPbVr18aGDRvKTf/3v/+NwsJCODs713SoZAQMmjQxaGQVNm/ejIKCAmzduhUjR45Enz59EBcXh8mTJ+P777/H/fv3Tfbab775Jt544w1Mnz4dGzduhJOTk8HrGjVqFDZu3IiSkhKt6evWrcNzzz0HFxeXmg7X4oy9x0xkLAwaWYXSPReFQqE1vU6dOnBwcKgyBBMnTkTt2rVx7tw59O3bF+7u7qhfvz6mTZum8xdwSUkJpk6divj4eLzzzjtYuXIlZDKZ1jy3bt3CyJEj4eHhAYVCgVGjRiE3N1fnOCZNmoTs7Gzs27dPMy0zMxOHDh3CpEmTKlxGpVLhb3/7G8LCwuDi4oLAwEDExsYiPz9fa76PP/4YPXr0gI+PD9zd3REREYElS5agsLBQa7709HQMGTIEPj4+kMvlCAgIwODBg/Hbb78BqPiQaSmZTIa4uDjNz6WHUtPS0jBixAjUrVsX4eHhAAAhBNasWYPWrVvDzc0NdevWxYgRI8odcu3VqxdatmyJo0ePokuXLnBzc0NoaKhmT3bnzp1o27YtatWqhYiICOzevbvcuC5duoSxY8dq3lOzZs3w8ccfa82TnJwMmUyGr776CvPnz0dAQAA8PT3Rr18/XLx4UWs8O3fuxPXr1yGTyTQPkgBBZAWysrJEnTp1xIgRI8SVK1eESqUSO3bsEAqFQkyfPr3K5aOjo4WLi4sIDg4WCxcuFHv37hVxcXHCyclJDBkyRGvekJAQERUVJUaPHi1kMplYsWJFhet8+PChaNasmVAoFGLVqlViz549YsaMGSI4OFgAEBs2bNDMu2DBAgFA/P7776J79+5i5MiRmufmzJkjQkNDRUlJiXB3dxfR0dGa5/Lz80Xr1q1FvXr1xNKlS8WPP/4oVqxYIRQKhejTp48oKSnRzDtz5kyRkJAgdu/eLQ4cOCCWLVsm6tWrJ1566SXNPHl5ecLb21u0b99efPvttyIlJUV888034tVXXxUZGRmaP+uy4y8FQCxYsKDc+woJCRFz5swR+/btE0lJSUIIIaZMmSKcnZ3F7Nmzxe7du8XmzZtF06ZNha+vr8jNzdWso2fPnsLb21s0adJErFu3TuzZs0cMGTJEABDvvvuuiIiIEF999ZXYtWuX6Ny5s5DL5eLmzZua5c+dOycUCoWIiIgQX3zxhdi7d6+YPXu2cHBwEHFxcZr5Dh48KACI0NBQMW7cOLFz507x1VdfieDgYNG4cWNRVFSkWV/Xrl2Fn5+fOHr0qOZBto9BI6tx/vx50bRpUwFA85gxY4bWL3VdoqOjBYBycVq4cKEAIA4dOqSZFhISoln/m2++qXOdCQkJAoD47rvvtKZPmTKl0qBt2LBByOVycffuXVFUVCT8/f01v3jLBi0+Pl44ODiIEydOaL3Gli1bBACxa9euCsdWXFwsCgsLxRdffCEcHR3FvXv3hBBCnDx5UgDQRKcihgTtnXfe0Zrv6NGjAoD45z//qTU9OztbuLm5iTfeeEMzrWfPngKAOHnypGba3bt3haOjo3Bzc9OK16lTpwQAsXLlSs20AQMGiAYNGgilUqn1WtOmTROurq6a914atGeeeUZrvm+//VYA0IrW4MGDRUhIiI4/IbJVPORIVuHatWsYOnQovL29sWXLFqSkpGDJkiVITEzEyy+/rPd6xo0bp/Xz2LFjAQAHDx7Umt66dWsEBwdj9erVSE1NrXBdBw8ehIeHB4YNG1bhOnV54YUX4OLigi+//BK7du1Cbm6uzjMbf/jhB7Rs2RKtW7dGUVGR5jFgwADIZDIkJydr5k1PT8ewYcPg7e0NR0dHODs7Y8KECSguLkZmZiYAoFGjRqhbty7mzJmDTz75BBkZGZWOVV/PP/98uXHLZDK8+OKLWuP28/NDq1attMYNAP7+/mjXrp3mZy8vL/j4+KB169YICAjQTG/WrBkA4Pr16wCAgoIC7N+/H8899xxq1aql9VrPPPMMCgoKym2/stvr6aef1lonSZfhn34TGdHcuXOhUqlw6tQpuLu7AwB69OiBevXqYdKkSZgwYQJ69uxZ6TqcnJzg7e2tNc3Pzw8AcPfuXa3pgYGB2LZtG3r37o0BAwZg9+7diIyM1Jrn7t278PX1Lfc6pevUxd3dHaNGjcL69esREhKCfv36ISQkpMJ5//vf/+Ly5cs6z368c+cOAODGjRvo3r07mjRpghUrViA0NBSurq44fvw4YmJi8L///Q/A488gU1JSsHDhQrz55pu4f/8+/P39MWXKFLz11lsGn2Xp7+9fbtxCiAr/fACgYcOGWj97eXmVm8fFxaXc9NLPSksvm7h79y6KioqwatUqrFq1qsLXKv0zKlX2/wG5XA4Amj8jki4GjazCqVOn0Lx5c03MSnXo0AEAcPbs2SqDVlRUhLt372r9Qis9gaPsLzkACAsLQ3JyslbUunTponne29sbx48fL7dcZSeFlJo0aRI+//xznD59Gl9++aXO+erVqwc3NzesX79e5/MAkJSUhPz8fGzbtk0rjqdOnSq3TEREBL7++msIIXD69GkkJibivffeg5ubG+bOnau5JEGtVmstVzb6Typ70kS9evUgk8nw888/a4LxpIqmGaJu3bpwdHTE+PHjERMTU+E8YWFhRnktsn0MGlmFgIAAnD17Fnl5eahdu7Zm+tGjRwEADRo00Gs9X375JWbMmKH5efPmzQAen9lWkdDQUE3UBg4ciP/85z/o2rUrAKB379749ttv8f3332sdxipdZ2UiIyMxadIkKJVKPPfcczrnGzJkCD788EN4e3tX+ou5NChPhkIIgbVr11a6TKtWrbBs2TIkJiYiLS0NAODr6wtXV1ecPn1aa/7vvvuuyvf15LgXLVqEmzdvYuTIkXovV121atVC7969kZ6ejqefftpolz3I5XLusUkQg0ZWITY2FsOHD0f//v0xc+ZM1KtXD6mpqYiPj0fz5s0xaNCgKtfh4uKCf/7zn8jLy0OHDh1w5MgRfPDBBxg0aBC6deumc7mQkBCtqO3atQvdu3fHhAkTsGzZMkyYMAELFy5E48aNsWvXLuzZs0ev97Ru3Tq93vfWrVvRo0cPzJw5E08//TRKSkpw48YN7N27F7Nnz0anTp3Qv39/uLi4YMyYMXjjjTdQUFCAhISEctfn/fDDD1izZg2GDx+Ohg0bQgiBbdu24Y8//kD//v0BQPPZ1/r16xEeHo5WrVrh+PHjeoW6VNeuXfHXv/4VL730Ek6ePIkePXrA3d0dOTk5OHToECIiIjB16lS911eZFStWoFu3bujevTumTp2K0NBQPHjwAJcvX8aOHTtw4MCBaq8zIiIC27ZtQ0JCAtq1awcHBwe0b9/eKOMlC7LsOSlEfzpw4ICIiooSfn5+ws3NTTz11FNi9uzZ4s6dO1UuGx0dLdzd3cXp06dFr169hJubm/Dy8hJTp04VeXl5WvOGhISIwYMHl1vHjRs3RHh4uHB3dxcpKSlCCCF+++038fzzz4vatWsLDw8P8fzzz4sjR45UepZjZcqe5SjE41Pt33rrLdGkSRPh4uKiOUV95syZWqe/79ixQ7Rq1Uq4urqKwMBA8fe//1385z//EQDEwYMHhRBCXLhwQYwZM0aEh4cLNzc3oVAoRMeOHUViYqLWayqVSvHyyy8LX19f4e7uLoYOHSquXbum8yxHXe9r/fr1olOnTsLd3V24ubmJ8PBwMWHCBK0zGnv27ClatGhRblld2wGAiImJ0ZqWlZUlJk2aJAIDA4Wzs7OoX7++6NKli/jggw8085Se5fjvf/+73LJlt9e9e/fEiBEjRJ06dYRMJhP8VSgNMiGEsFhNiYxk4sSJ2LJlC/Ly8iw9FCKyEJ62T0REksCgERGRJPCQIxERSQL30IiISBIYNCIikgQGjYiIJEHyF1aXlJTg1q1b8PDw4D2PiIhskBACDx48QEBAABwcdO+HST5ot27dQlBQkKWHQURENZSdnV3p1+BJPmgeHh4AHv9BeHp6Wng0RESkj6NX7iJmcxoeFZUgMsgN384eqvl9rovkg1Z6mNHT05NBIyKyAYcu3cGMrRdQ5OiK/i18sGhYI3w7u/xdH8riSSFERGQ1Dl26g8kbT0BdVIK+TX2w5sW2kDs56rUsg0ZERFbhyZj1qWbMAAaNiIisQNk9s4Rqxgxg0IiIyMJqcpjxSQwaERFZzOHLxokZwKAREZGFHL58B5MSjRMzgEEjIiILMHbMAAaNiIjMzBQxAxg0IiIyI1PFDGDQiIjITEwZM4BBIyIiMzB1zAAGjYiITOzQJdPHDGDQiIjIhIx10bQ+GDQiIjIJc8YMYNCIiMgEzB0zgEEjIiIjs0TMAAaNiIiMqKa3gKkJBo2IiIzCGLeAqQkGjYiIasxShxmfxKAREVGNGPMWMDXBoBERkcHM8Q0g+mLQiIjIINYUM4BBIyIiA1hbzAAGjYiIqskaYwYwaEREVA3WGjOAQSMiIj1Zc8wABo2IiPRg7TEDGDQiIqqCLcQMYNCIiKgSthIzgEEjIiIdbClmAINGREQVsLWYAQwaERGVYYsxAywctJ9++glDhw5FQEAAZDIZkpKSdM77yiuvQCaTYfny5WYbHxGRvbHVmAEWDlp+fj5atWqF1atXVzpfUlISjh07hoCAADONjIjI/thyzADAyZIvPmjQIAwaNKjSeW7evIlp06Zhz549GDx4sJlGRkRkX2w9ZoCFg1aVkpISjB8/Hn//+9/RokULvZZRq9VQq9Wan1UqlamGR0QkCVKIGWDlJ4UsXrwYTk5OmDFjht7LxMfHQ6FQaB5BQUEmHCERkW2TSswAKw7aL7/8ghUrViAxMREymUzv5ebNmwelUql5ZGdnm3CURES2S0oxA6w4aD///DNu376N4OBgODk5wcnJCdevX8fs2bMRGhqqczm5XA5PT0+tBxERaZNazAAr/gxt/Pjx6Nevn9a0AQMGYPz48XjppZcsNCoiItsnxZgBFg5aXl4eLl++rPk5KysLp06dgpeXF4KDg+Ht7a01v7OzM/z8/NCkSRNzD5WISBKkGjPAwkE7efIkevfurfl51qxZAIDo6GgkJiZaaFRERNIk5ZgBFg5ar169IITQe/5r166ZbjBERBIm9ZgBVnxSCBERGYc9xAxg0IiIJM1eYgYwaEREkmVPMQMYNCIiSbK3mAEMGhGR5NhjzAAGjYhIUuw1ZgCDRkQkGfYcM4BBIyKSBHuPGcCgERHZPMbsMQaNiMiGHbrEmJVi0IiIbNShS3cweSNjVopBIyKyQYxZeQwaEZGNYcwqxqAREdkQxkw3Bo2IyEY8GbM+jFk5DBoRkQ0ou2eWwJiVw6AREVk5HmbUD4NGRGTFDl9mzPTFoBERWSl+A0j1MGhERFaIMas+Bo2IyMowZoZh0IiIrAhjZjgGjYjISjBmNcOgERFZAcas5hg0IiIL4y1gjINBIyKyIF40bTwMGhGRhTBmxsWgERFZAGNmfAwaEZGZMWamwaAREZkRbwFjOgwaEZGZ8BYwpsWgERGZAQ8zmh6DRkRkYrwFjHkwaEREJsRvADEfiwbtp59+wtChQxEQEACZTIakpCTNc4WFhZgzZw4iIiLg7u6OgIAATJgwAbdu3bLcgImIqoExMy+LBi0/Px+tWrXC6tWryz338OFDpKWl4e2330ZaWhq2bduGzMxMDBs2zAIjJSKqHsbM/GRCCGHpQQCATCbD9u3bMXz4cJ3znDhxAh07dsT169cRHBys13pVKhUUCgWUSiU8PT2NNFoiIt0YM+PS9/e4kxnHVGNKpRIymQx16tTROY9arYZardb8rFKpzDAyIqLHGDPLsZmTQgoKCjB37lyMHTu20kLHx8dDoVBoHkFBQWYcJRHZM8bMsmwiaIWFhRg9ejRKSkqwZs2aSuedN28elEql5pGdnW2mURKRPWPMLM/qDzkWFhZi5MiRyMrKwoEDB6r8HEwul0Mul5tpdEREjJm1sOqglcbs0qVLOHjwILy9vS09JCIiLYyZ9bBo0PLy8nD58mXNz1lZWTh16hS8vLwQEBCAESNGIC0tDT/88AOKi4uRm5sLAPDy8oKLi4ulhk1EBIAxszYWPW0/OTkZvXv3Ljc9OjoacXFxCAsLq3C5gwcPolevXnq9Bk/bJyJTYMzMxyZO2+/Vqxcq66mVXCJHRKSFMbNONnGWIxGRtWDMrBeDRkSkJ8bMujFoRER6YMysH4NGRFQFxsw2MGhERJVgzGwHg0ZEpANjZlsYNCKiCjBmtodBIyIqgzGzTQwaEdETGDPbxaAREf0/xsy2MWhERGDMpIBBIyK7x5hJA4NGRHaNMZMOBo2I7BZjJi0MGhHZJcZMehg0IrI7jJk0MWhEZFcYM+li0IjIbjBm0sagEZFdYMykj0EjIsljzOwDg0ZEknboEmNmLxg0IpKsQ5fuYPJGxsxeMGhEJEmMmf1h0IhIchgz+8SgEZGkMGb2i0EjIsl4MmZ9GDO7w6ARkSSU3TNLYMzsDoNGRDaPhxkJYNCIyMYdvsyY0WMMGhHZLH4DCD2JQSMim8SYUVkMGhHZHMaMKsKgEZFNYcxIFwaNiGwGY0aVsWjQfvrpJwwdOhQBAQGQyWRISkrSel4Igbi4OAQEBMDNzQ29evXCuXPnLDNYIrIoxoyqYtGg5efno1WrVli9enWFzy9ZsgRLly7F6tWrceLECfj5+aF///548OCBmUdKRJbEW8CQPpws+eKDBg3CoEGDKnxOCIHly5dj/vz5+Mtf/gIA2LhxI3x9fbF582a88sor5hwqEVkIL5omfVntZ2hZWVnIzc1FVFSUZppcLkfPnj1x5MgRncup1WqoVCqtBxHZJsaMqsNqg5abmwsA8PX11Zru6+urea4i8fHxUCgUmkdQUJBJx0lEpsGYUXVZbdBKyWQyrZ+FEOWmPWnevHlQKpWaR3Z2tqmHSERGxpiRISz6GVpl/Pz8ADzeU/P399dMv337drm9tifJ5XLI5XKTj4+ITIO3gCFDWe0eWlhYGPz8/LBv3z7NtEePHiElJQVdunSx4MiIyFR4CxiqCYvuoeXl5eHy5cuan7OysnDq1Cl4eXkhODgYsbGx+PDDD9G4cWM0btwYH374IWrVqoWxY8dacNREZAo8zEg1ZdGgnTx5Er1799b8PGvWLABAdHQ0EhMT8cYbb+B///sfXnvtNdy/fx+dOnXC3r174eHhYakhE5EJ8BYwZAwyIYSw9CBMSaVSQaFQQKlUwtPT09LDIaIy+A0gVBV9f49b7WdoRCR9jBkZE4NGRBbBmJGxMWhEZHaMGZkCg0ZEZsWYkakwaERkNowZmRKDRkRmwZiRqTFoRGRyjBmZA4NGRCbFmJG5MGhEZDKMGZmT1X7bPhHZjuISgeNZ93D7QQF8PFzRMcwLqVfvMmZkVgwaEdXI7rM5eHdHBnKUBZppXu7OeFBQhMJiwZiR2TBoRKSlor0tR4eKb6q7+2wOpm5KQ9kvhL2XXwgAiAj0ZMzIbBg0ItKoaG/LX+GKBUObY2BLf615i0sE3t2RUS5mT/r9gRpODvyonsyD/6cREYA/97aejBkA5CoLMHVTGnafzdGafjzrXrl5y8pVqXE8657Rx0pUEQaNiCrd2yqd9u6ODBSX/DnH7QeVx6y68xHVFINGRFXubQkAOcoCrb0tHw9Xvdat73xENcWgEZFBe1sdw7zg5e6sc14ZHn/+1jHMq6bDI9ILg0ZEBu1tpV69iwcFRRXOV3pO5IKhzXWeIUlkbDzLkYjQMcwL/gpX5CoLKvwcTQbA11OOEiHw3ambuK1S46O9F1FYLBAR6InfH6iRq1Jr5vfTcWYkkSnpHbSVK1fqvdIZM2YYNBgisgxHBxkWDG2OqZvSIAO0olb6c0FRCcZ9fkxruYhAT2yZ2gVODg56X7tGZCoyIURll5FohIWFaf38+++/4+HDh6hTpw4A4I8//kCtWrXg4+ODq1evGn2ghlKpVFAoFFAqlfD09LT0cIisWkXXobnLHZGvLta5zCcvtuWeGJmUvr/H9f4MLSsrS/NYuHAhWrdujfPnz+PevXu4d+8ezp8/j7Zt2+L99983yhsgIvMb2NIfbw9uDi93F820ymImQ/nT+YksRe89tCeFh4djy5YtaNOmjdb0X375BSNGjEBWVpbRBlhT3EMj0p+ur7KqyldTOiMy3NskYyIy+h7ak3JyclBYWFhuenFxMf773/8askoisjB9vspKF148TdbAoKD17dsXU6ZMwcmTJ1G6g3fy5Em88sor6Nevn1EHSETmoc9XWenCi6fJGhgUtPXr1yMwMBAdO3aEq6sr5HI5OnXqBH9/f3z++efGHiMRmYEhe1m8eJqsiUHXodWvXx+7du1CZmYmLly4ACEEmjVrhqeeesrY4yMiM6nuXhYvniZrU6MLq0NDQyGEQHh4OJyceI02kS0rvbha38OOvHiarI1BFXr48CGmT5+OjRs3AgAyMzPRsGFDzJgxAwEBAZg7d65RB0lEpufoIMOo9g2wfP/lcs+V7n/F9nsKofVq8eJpskoGfYY2b948/Prrr0hOToar65+HKfr164dvvvnGaIMjIvM5fPkOElIefymC3En7V4OfwhUJL7bF6/0a49nWgYgM92bMyOoYtIeWlJSEb775Bp07d4ZM9uf/1M2bN8eVK1eMNjgiMo/Dl+9gUuIJqItK0LepD1aNbYNfs5X8KiuyKQYF7ffff4ePj0+56fn5+VqBIyLrd+jSHUze+GfM1rzYFnInR14oTTbHoEOOHTp0wM6dOzU/l0Zs7dq1iIyMNM7IiMjkdMWMyBYZtIcWHx+PgQMHIiMjA0VFRVixYgXOnTuHo0ePIiUlxWiDKyoqQlxcHL788kvk5ubC398fEydOxFtvvQUHB97KjagmGDOSGoOq0KVLFxw+fBgPHz5EeHg49u7dC19fXxw9ehTt2rUz2uAWL16MTz75BKtXr8b58+exZMkS/OMf/8CqVauM9hpE9ogxIyky6MuJzWXIkCHw9fXFunXrNNOef/551KpVC//617/0Wge/nJhIG2NGtsakX07cu3dvrFu3Dkql0uAB6qNbt27Yv38/MjMzAQC//vorDh06hGeeecakr0skVU/GrA9jRhJjUNAiIiLw1ltvwc/PD88//zySkpLw6NEjY48Nc+bMwZgxY9C0aVM4OzujTZs2iI2NxZgxY3Quo1aroVKptB5EVH7PLIExI4kxKGgrV67EzZs38d1338HDwwPR0dHw8/PDX//6V6OeFPLNN99g06ZN2Lx5M9LS0rBx40Z89NFHmm8oqUh8fDwUCoXmERQUZLTxENkqHmYke2CUz9AKCgqwY8cOLFy4EGfOnEFxse473FZHUFAQ5s6di5iYGM20Dz74AJs2bcKFCxcqXEatVkOtVmt+VqlUCAoK4mdoZLfKXjTNmJGt0fcztBp/o3Bubi6+/vprbNq0CadPn0aHDh1qukqNhw8fljs939HRESUlJTqXkcvlkMvlRhsDkS1jzMieGBQ0lUqFrVu3YvPmzUhOTkbDhg0xduxYfP3112jUqJHRBjd06FAsXLgQwcHBaNGiBdLT07F06VJMmjTJaK9BJFWMGdkbgw45urm5oW7duhg5ciTGjRtn1L2yJz148ABvv/02tm/fjtu3byMgIABjxozBO++8AxcXF73WwdP2yR4xZiQl+v4er3bQhBBYu3YtXnzxRdSqVavGAzU1Bo3sDWNGUmOy69CEEJg2bRpu3rxZowESkfExZmTPqh00BwcHNG7cGHfv3jXFeIjIQIwZ2TuDrkNbsmQJ/v73v+Ps2bPGHg8RGeDQJcaMyKCTQurWrYuHDx+iqKgILi4ucHNz03r+3r17RhtgTfEzNJI6XjRNUmfS69CWL19u6LiIyIgYM6I/GRS06OhoY4+DyK4Vlwgcz7qH2w8K4OPhio5hXnB0qPzu74wZkTaDvynkypUr2LBhA65cuYIVK1bAx8cHu3fvRlBQEFq0aGHMMRJJ2u6zOXh3RwZylAWaaf4KVywY2hwDW/pXuAxjRlSeQSeFpKSkICIiAseOHcO2bduQl5cHADh9+jQWLFhg1AESSdnuszmYuilNK2YAkKsswNRNadh9NqfcMrwFDFHFDAra3Llz8cEHH2Dfvn1a39jRu3dvHD161GiDI5Ky4hKBd3dkoKKzskqnvbsjA8Ulf87BW8AQ6WZQ0M6cOYPnnnuu3PT69evz+jQiPR3Pulduz+xJAkCOsgDHsx6fNczDjESVMyhoderUQU5O+UMh6enpCAwMrPGgiOzB7Qe6Y1Z2vsOXGTOiqhgUtLFjx2LOnDnIzc2FTCZDSUkJDh8+jL/97W+YMGGCscdIJEk+Hq56zXdbpeZF00R6MChopbd0CQwMRF5eHpo3b44ePXqgS5cueOutt4w9RiJJ6hjmBX+FK3SdnC8D4OXujI/2XmTMiPRQoztWX716FWlpaSgpKUGbNm3QuHFjY47NKPhNIWStiksEVh+4jGU/ZpZ7TobHn6E5O8pQWCwYM7JrZrljdcOGDdGwYUMUFxfjzJkzuH//PurWrVuTVRLZhYquPXtSXXdnPCgoYsyIqsGgQ46xsbFYt24dAKC4uBg9e/ZE27ZtERQUhOTkZGOOj0hydF17Vur5toHIVxczZkTVZFDQtmzZglatWgEAduzYgatXr+LChQuIjY3F/PnzjTpAIimp7NqzUlvTbvIzMyIDGBS0O3fuwM/PDwCwa9cujBw5Ek899RQmT56MM2fOGHWARFJS1bVnpdoG12HMiKrJoKD5+voiIyMDxcXF2L17N/r16wcAePjwIRwd+ReQ6EnFJQJHr9zFd6du4vDl3/VaZlynYMaMqJoMOinkpZdewsiRI+Hv7w+ZTIb+/fsDAI4dO4amTZsadYBEtqyqkz90CahTy0QjIpIug4IWFxeHli1bIjs7Gy+88ALkcjkAwNHREXPnzjXqAIls0eNT8i9h2Y+Xqr2sv+Lx7WOIqHpqdB2aLeB1aGRuu8/mIO77DOSqqrdXBjy+/izhxbY6bxtDZI/0/T1u0GdoALB//34MGTIE4eHhaNSoEYYMGYIff/zR0NURSULpKfmGxMxf4cqYEdWAQYccV69ejZkzZ2LEiBF4/fXXAQCpqal45plnsHTpUkybNs2ogySyBfqckl9WqHctTO/TCAF1aul1l2oi0s2gQ46BgYGYN29euXB9/PHHWLhwIW7dumW0AdYUDzmSuRy9chdj1qZWa5kvJnVEj6fqm2hERNJg0kOOKpUKAwcOLDc9KioKKpXKkFUS2Tx9bwdTys9Tjq6N6ploNET2x6CgDRs2DNu3by83/bvvvsPQoUNrPCgiW6Tv7WBKxQ1rwUOMREak92doK1eu1Px3s2bNsHDhQiQnJyMyMhLA48/QDh8+jNmzZxt/lEQ2oPR2MLnKgko/R/P1cMG7z7bkyR9ERqb3Z2hhYWH6rVAmw9WrV2s0KGPiZ2hkTqVnOQKoMGrT+zRCbL+nuGdGVA1Gv31MVlZWuWl37tyBTCaDt7e3YaMkkpiBLf2R8GLbct8OIndywEcvPI2hrQItODoiaav2Z2h//PEHYmJiUK9ePfj6+sLHxwf16tXDtGnT8Mcff5hgiES2ZWBLfyx+/mk4Oz7eC2sbXAfp7/RnzIhMrFrXod27dw+RkZG4efMmxo0bh2bNmkEIgfPnzyMxMRH79+/HkSNHeJNPsmuHL9/BlC9O8n5mRGZWraC99957cHFxwZUrV+Dr61vuuaioKLz33ntYtmyZUQdJZCsOX76DSYkneD8zIguo1iHHpKQkfPTRR+ViBgB+fn5YsmRJhafzE9kDxozIsqoVtJycHLRo0ULn8y1btkRubm6NB/Wkmzdv4sUXX4S3tzdq1aqF1q1b45dffjHqaxDVFGNGZHnVOuRYr149XLt2DQ0aNKjw+aysLKOe8Xj//n107doVvXv3xn/+8x/4+PjgypUrqFOnjtFeg6imGDMi61CtoA0cOBDz58/Hvn374OLiovWcWq3G22+/XeFXYhlq8eLFCAoKwoYNGzTTQkNDjbZ+oppizIisR7W+nPi3335D+/btIZfLERMTo7k7dUZGBtasWQO1Wo2TJ08iKCjIKINr3rw5BgwYgN9++w0pKSkIDAzEa6+9hilTpui9Dl5YTabCmBGZh76/x6v9bftZWVl47bXXsHfvXpQuKpPJ0L9/f6xevRqNGjWq2cif4Or6+LvxZs2ahRdeeAHHjx9HbGwsPv30U0yYMKHCZdRqNdRqteZnlUqFoKAgBo2MijEjMh+TBa3U/fv3cenS49vLN2rUCF5exr9lvIuLC9q3b48jR45ops2YMQMnTpzA0aNHK1wmLi4O7777brnpDBoZC2NGZF4mv2N13bp10bFjR3Ts2NEkMQMAf39/NG/eXGtas2bNcOPGDZ3LzJs3D0qlUvPIzs42ydjIPjFmRNbLoDtWm0vXrl1x8eJFrWmZmZkICQnRuYxcLodcLjf10MgOMWZE1s3gPTRzmDlzJlJTU/Hhhx/i8uXL2Lx5Mz777DPExMRYemhkZxgzIutn1UHr0KEDtm/fjq+++gotW7bE+++/j+XLl2PcuHGWHhrZkUOXGDMiW2DwSSG2gqftU00cunQHkzcyZkSWZPKTQoikjjEjsi0MGlEFGDMi28OgEZXBmBHZJgaN6AlPxqwPY0ZkUxg0ov9Xds8sgTEjsikMGhF4mJFIChg0snuHLzNmRFLAoJFd4zeAEEkHg0Z2izEjkhYGjewSY0YkPQwa2R3GjEiaGDSyK4wZkXQxaGQ3GDMiaWPQyC7wFjBE0segkeTxomki+8CgkaQxZkT2g0EjyWLMiOwLg0aSxJgR2R8GjSSHt4Ahsk8MGkkKbwFDZL8YNJIMHmYksm8MGkkCbwFDRAwa2Tx+AwgRAQwa2TjGjIhKMWhksxgzInoSg0Y2iTEjorIYNLI5jBkRVYRBI5vCmBGRLgwa2QzGjIgqw6CRTWDMiKgqDBpZPcaMiPTBoJFVY8yISF8MGlktxoyIqoNBI6vEmBFRddlU0OLj4yGTyRAbG2vpoZAJMWZEZAibCdqJEyfw2Wef4emnn7b0UMiEGDMiMpRNBC0vLw/jxo3D2rVrUbduXUsPh0yEMSOimrCJoMXExGDw4MHo169flfOq1WqoVCqtB1k/xoyIasrJ0gOoytdff420tDScOHFCr/nj4+Px7rvvmnhUZEyMGREZg1XvoWVnZ+P111/Hpk2b4Orqqtcy8+bNg1Kp1Dyys7NNPEqqCcaMiIxFJoQQlh6ELklJSXjuuefg6PjnL7ji4mLIZDI4ODhArVZrPVcRlUoFhUIBpVIJT09PUw+ZqoExIyJ96Pt73KoPOfbt2xdnzpzRmvbSSy+hadOmmDNnTpUxI+vFmBGRsVl10Dw8PNCyZUutae7u7vD29i43nWwHY0ZEpmDVn6GR9DBmRGQqVr2HVpHk5GRLD4EMxJgRkSlxD43MgjEjIlNj0MjkGDMiMgcGjUyKMSMic2HQyGQYMyIyJwaNTIIxIyJzY9DI6BgzIrIEBo2MijEjIkth0MhoGDMisiQGjYyCMSMiS2PQqMYOXWLMiMjyGDSqkUOX7mDyRsaMiCyPQSODMWZEZE0YNDIIY0ZE1oZBo2pjzIjIGjFoVC1PxqwPY0ZEVoRBI72V3TNLYMyIyIowaKQXHmYkImvHoFGVDl9mzIjI+jFoVCl+AwgR2QoGjXRizIjIljBoVCHGjIhsDYNG5TBmRGSLGDTSwpgRka1i0EiDMSMiW8agEQDeAoaIbB+DRrxomogkgUGzc4wZEUkFg2bHGDMikhIGzU4xZkQkNQyaHeItYIhIihg0O8NbwBCRVDFodoSHGYlIyhg0O8FbwBCR1DFodoDfAEJE9sCqgxYfH48OHTrAw8MDPj4+GD58OC5evGjpYdkUxoyI7IVVBy0lJQUxMTFITU3Fvn37UFRUhKioKOTn51t6aDaBMSMieyITQghLD0Jfv//+O3x8fJCSkoIePXrotYxKpYJCoYBSqYSnp6eJR2g9GDMikgp9f487mXFMNaZUKgEAXl5eOudRq9VQq9Wan1UqlcnHZW0YMyKyR1Z9yPFJQgjMmjUL3bp1Q8uWLXXOFx8fD4VCoXkEBQWZcZSWx5gRkb2ymUOOMTEx2LlzJw4dOoQGDRronK+iPbSgoCC7OOTImBGRFEnqkOP06dPx/fff46effqo0ZgAgl8shl8vNNDLrwZgRkb2z6qAJITB9+nRs374dycnJCAsLs/SQrBJjRkRk5UGLiYnB5s2b8d1338HDwwO5ubkAAIVCATc3NwuPzjowZkREj1n1Z2gymazC6Rs2bMDEiRP1WoeUT9tnzIjIHkjiMzQrbq3FMWZERNps5rR9+hNjRkRUHoNmYxgzIqKKMWg2hDEjItKNQbMRjBkRUeUYNBvAmBERVY1Bs3KMGRGRfhg0K8aYERHpj0GzUowZEVH1MGhWiDEjIqo+Bs3KMGZERIZh0KwIY0ZEZDgGzUowZkRENcOgWQHGjIio5hg0C2PMiIiMg0GzIMaMiMh4GDQLYcyIiIyLQbMAxoyIyPgYNDNjzIiITINBMyPGjIjIdBg0M2HMiIhMi0Ezg0OXGDMiIlNj0Ezs0KU7mLyRMSMiMjUGzYQYMyIi82HQTIQxIyIyLwbNBBgzIiLzY9CM7MmY9WHMiIjMhkEzorJ7ZgmMGRGR2TBoRsLDjERElsWgGcHhy4wZEZGlMWg1xG8AISKyDgxaDTBmRETWg0EzEGNGRGRdGDQDMGZERNaHQasmxoyIyDrZRNDWrFmDsLAwuLq6ol27dvj5558tMg7GjIjIell90L755hvExsZi/vz5SE9PR/fu3TFo0CDcuHHDrOPgLWCIiKybTAghLD2IynTq1Alt27ZFQkKCZlqzZs0wfPhwxMfHV7m8SqWCQqGAUqmEp6enQWPgRdNERJaj7+9xq95De/ToEX755RdERUVpTY+KisKRI0cqXEatVkOlUmk9aoIxIyKyDVYdtDt37qC4uBi+vr5a0319fZGbm1vhMvHx8VAoFJpHUFCQwa/PmBER2Q6rDlopmUym9bMQoty0UvPmzYNSqdQ8srOzDXpNxoyIyLY4WXoAlalXrx4cHR3L7Y3dvn273F5bKblcDrlcXqPX5S1giIhsj1Xvobm4uKBdu3bYt2+f1vR9+/ahS5cuJnlN3gKGiMg2WfUeGgDMmjUL48ePR/v27REZGYnPPvsMN27cwKuvvmr01+JhRiIi22X1QRs1ahTu3r2L9957Dzk5OWjZsiV27dqFkJAQo74ObwFDRGTbrP46tJrS5/oFfgMIEZH1ksR1aObAmBERSYNdB40xIyKSDrsNGmNGRCQtdhk0xoyISHrsLmiMGRGRNNlV0BgzIiLpsvrr0Iwl9cpdTN96gTEjIpIou9lDe21zGmNGRCRhdhO0R4wZEZGkSf6QY+kXoUQGuWHRsEZQP8yH2sJjIiIi/ZXeqLmqL7aS/Fdf/fbbbzW6yScREVmH7OxsNGjQQOfzkg9aSUkJbt26BQ8PD503Ba2KSqVCUFAQsrOzK/0eMVvF92fb+P5sG99f1YQQePDgAQICAuDgoPuTMskfcnRwcKi06NXh6ekpyf/hSvH92Ta+P9vG91c5hUJR5Tx2c1IIERFJG4NGRESSwKDpQS6XY8GCBZDL5ZYeiknw/dk2vj/bxvdnPJI/KYSIiOwD99CIiEgSGDQiIpIEBo2IiCSBQSMiIklg0P7fmjVrEBYWBldXV7Rr1w4///xzpfOnpKSgXbt2cHV1RcOGDfHJJ5+YaaTVEx8fjw4dOsDDwwM+Pj4YPnw4Ll68WOkyycnJkMlk5R4XLlww06j1FxcXV26cfn5+lS5jK9sOAEJDQyvcFjExMRXOb+3b7qeffsLQoUMREBAAmUyGpKQkreeFEIiLi0NAQADc3NzQq1cvnDt3rsr1bt26Fc2bN4dcLkfz5s2xfft2E72DylX2/goLCzFnzhxERETA3d0dAQEBmDBhAm7dulXpOhMTEyvcpgUFBSZ+N+VVtf0mTpxYbpydO3eucr3G2n4MGoBvvvkGsbGxmD9/PtLT09G9e3cMGjQIN27cqHD+rKwsPPPMM+jevTvS09Px5ptvYsaMGdi6dauZR161lJQUxMTEIDU1Ffv27UNRURGioqKQn59f5bIXL15ETk6O5tG4cWMzjLj6WrRooTXOM2fO6JzXlrYdAJw4cULrve3btw8A8MILL1S6nLVuu/z8fLRq1QqrV6+u8PklS5Zg6dKlWL16NU6cOAE/Pz/0798fDx480LnOo0ePYtSoURg/fjx+/fVXjB8/HiNHjsSxY8dM9TZ0quz9PXz4EGlpaXj77beRlpaGbdu2ITMzE8OGDatyvZ6enlrbMycnB66urqZ4C5WqavsBwMCBA7XGuWvXrkrXadTtJ0h07NhRvPrqq1rTmjZtKubOnVvh/G+88YZo2rSp1rRXXnlFdO7c2WRjNJbbt28LACIlJUXnPAcPHhQAxP379803MAMtWLBAtGrVSu/5bXnbCSHE66+/LsLDw0VJSUmFz9vStgMgtm/frvm5pKRE+Pn5iUWLFmmmFRQUCIVCIT755BOd6xk5cqQYOHCg1rQBAwaI0aNHG33M1VH2/VXk+PHjAoC4fv26znk2bNggFAqFcQdnBBW9v+joaPHss89Waz3G3H52v4f26NEj/PLLL4iKitKaHhUVhSNHjlS4zNGjR8vNP2DAAJw8eRKFhYUmG6sxKJVKAICXl1eV87Zp0wb+/v7o27cvDh48aOqhGezSpUsICAhAWFgYRo8ejatXr+qc15a33aNHj7Bp0yZMmjSpyi/atpVt96SsrCzk5uZqbR+5XI6ePXvq/LsI6N6mlS1jLZRKJWQyGerUqVPpfHl5eQgJCUGDBg0wZMgQpKenm2eABkhOToaPjw+eeuopTJkyBbdv3650fmNuP7sP2p07d1BcXAxfX1+t6b6+vsjNza1wmdzc3ArnLyoqwp07d0w21poSQmDWrFno1q0bWrZsqXM+f39/fPbZZ9i6dSu2bduGJk2aoG/fvvjpp5/MOFr9dOrUCV988QX27NmDtWvXIjc3F126dMHdu3crnN9Wtx0AJCUl4Y8//sDEiRN1zmNL266s0r9v1fm7WLpcdZexBgUFBZg7dy7Gjh1b6Zf2Nm3aFImJifj+++/x1VdfwdXVFV27dsWlS5fMOFr9DBo0CF9++SUOHDiAf/7znzhx4gT69OkDtVr3XSiNuf0k/237+ir7L14hRKX/Cq5o/oqmW5Np06bh9OnTOHToUKXzNWnSBE2aNNH8HBkZiezsbHz00Ufo0aOHqYdZLYMGDdL8d0REBCIjIxEeHo6NGzdi1qxZFS5ji9sOANatW4dBgwYhICBA5zy2tO10qe7fRUOXsaTCwkKMHj0aJSUlWLNmTaXzdu7cWevEiq5du6Jt27ZYtWoVVq5caeqhVsuoUaM0/92yZUu0b98eISEh2LlzJ/7yl7/oXM5Y28/u99Dq1asHR0fHcv8auH37drl/NZTy8/OrcH4nJyd4e3ubbKw1MX36dHz//fc4ePCgQbfT6dy5s1X+i7Asd3d3RERE6ByrLW47ALh+/Tp+/PFHvPzyy9Ve1la2XenZqdX5u1i6XHWXsaTCwkKMHDkSWVlZ2LdvX7VvqeLg4IAOHTrYxDb19/dHSEhIpWM15vaz+6C5uLigXbt2mrPHSu3btw9dunSpcJnIyMhy8+/duxft27eHs7OzycZqCCEEpk2bhm3btuHAgQMICwszaD3p6enw9/c38uiMT61W4/z58zrHakvb7kkbNmyAj48PBg8eXO1lbWXbhYWFwc/PT2v7PHr0CCkpKTr/LgK6t2lly1hKacwuXbqEH3/80aB/RAkhcOrUKZvYpnfv3kV2dnalYzXq9qv2aSQS9PXXXwtnZ2exbt06kZGRIWJjY4W7u7u4du2aEEKIuXPnivHjx2vmv3r1qqhVq5aYOXOmyMjIEOvWrRPOzs5iy5YtlnoLOk2dOlUoFAqRnJwscnJyNI+HDx9q5in7/pYtWya2b98uMjMzxdmzZ8XcuXMFALF161ZLvIVKzZ49WyQnJ4urV6+K1NRUMWTIEOHh4SGJbVequLhYBAcHizlz5pR7zta23YMHD0R6erpIT08XAMTSpUtFenq65iy/RYsWCYVCIbZt2ybOnDkjxowZI/z9/YVKpdKsY/z48VpnIB8+fFg4OjqKRYsWifPnz4tFixYJJycnkZqaalXvr7CwUAwbNkw0aNBAnDp1Suvvo1qt1vn+4uLixO7du8WVK1dEenq6eOmll4STk5M4duyYVb2/Bw8eiNmzZ4sjR46IrKwscfDgQREZGSkCAwPNtv0YtP/38ccfi5CQEOHi4iLatm2rdVp7dHS06Nmzp9b8ycnJok2bNsLFxUWEhoaKhIQEM49YPwAqfGzYsEEzT9n3t3jxYhEeHi5cXV1F3bp1Rbdu3cTOnTvNP3g9jBo1Svj7+wtnZ2cREBAg/vKXv4hz585pnrflbVdqz549AoC4ePFiuedsbduVXlZQ9hEdHS2EeHzq/oIFC4Sfn5+Qy+WiR48e4syZM1rr6Nmzp2b+Uv/+979FkyZNhLOzs2jatKnFAl7Z+8vKytL59/HgwYOadZR9f7GxsSI4OFi4uLiI+vXri6ioKHHkyBHzvzlR+ft7+PChiIqKEvXr1xfOzs4iODhYREdHixs3bmitw5Tbj7ePISIiSbD7z9CIiEgaGDQiIpIEBo2IiCSBQSMiIklg0IiISBIYNCIikgQGjYiIJIFBI7IhcXFxaN26tebniRMnYvjw4WYfx7Vr1yCTyXDq1CmzvzaRLgwakRE8eet5Z2dnNGzYEH/729/0ujN4TaxYsQKJiYl6zcsIkdTx9jFERjJw4EBs2LABhYWF+Pnnn/Hyyy8jPz8fCQkJWvMVFhYa7YuQFQqFUdZDJAXcQyMyErlcDj8/PwQFBWHs2LEYN24ckpKSNIcJ169fj4YNG0Iul0MIAaVSib/+9a/w8fGBp6cn+vTpg19//VVrnYsWLYKvry88PDwwefJkFBQUaD1f9pBjSUkJFi9ejEaNGkEulyM4OBgLFy4EAM2dFtq0aQOZTIZevXppltuwYQOaNWsGV1dXNG3atNw9uo4fP442bdrA1dUV7du3t+o7JpP94h4akYm4ubmhsLAQAHD58mV8++232Lp1KxwdHQEAgwcPhpeXF3bt2gWFQoFPP/0Uffv2RWZmJry8vPDtt99iwYIF+Pjjj9G9e3f861//wsqVK9GwYUOdrzlv3jysXbsWy5YtQ7du3ZCTk4MLFy4AeByljh074scff0SLFi3g4uICAFi7di0WLFiA1atXo02bNkhPT8eUKVPg7u6O6Oho5OfnY8iQIejTpw82bdqErKwsvP766yb+0yMygEFfaUxEWqKjo8Wzzz6r+fnYsWPC29tbjBw5UixYsEA4OzuL27dva57fv3+/8PT0FAUFBVrrCQ8PF59++qkQQojIyEjx6quvaj3fqVMn0apVqwpfV6VSCblcLtauXVvhGEu/7T09PV1relBQkNi8ebPWtPfff19ERkYKIYT49NNPhZeXl8jPz9c8n5CQUOG6iCyJhxyJjOSHH35A7dq14erqisjISPTo0QOrVq0CAISEhKB+/fqaeX/55Rfk5eXB29sbtWvX1jyysrJw5coVAMD58+cRGRmp9Rplf37S+fPnoVar0bdvX73H/PvvvyM7OxuTJ0/WGscHH3ygNY5WrVqhVq1aeo2DyFJ4yJHISHr37o2EhAQ4OzsjICBA68QPd3d3rXlLSkrg7++P5OTkcuupU6eOQa/v5uZW7WVKSkoAPD7s2KlTJ63nSg+NCt5himwEg0ZkJO7u7mjUqJFe87Zt2xa5ublwcnJCaGhohfM0a9YMqampmDBhgmZaamqqznU2btwYbm5u2L9/P15++eVyz5d+ZlZcXKyZ5uvri8DAQFy9ehXjxo2rcL3NmzfHv/71L/zvf//TRLOycRBZCg85EllAv379EBkZieHDh2PPnj24du0ajhw5grfeegsnT54EALz++utYv3491q9fj8zMTCxYsADnzp3TuU5XV1fMmTMHb7zxBr744gtcuXIFqampWLduHQDAx8cHbm5u2L17N/773/9CqVQCeHyxdnx8PFasWIHMzEycOXMGGzZswNKlSwEAY8eOhYODAyZPnoyMjAzs2rULH330kYn/hIiqj0EjsgCZTIZdu3ahR48emDRpEp566imMHj0a165dg6+vLwBg1KhReOeddzBnzhy0a9cO169fx9SpUytd79tvv43Zs2fjnXfeQbNmzTBq1Cjcvn0bAODk5ISVK1fi008/RUBAAJ599lkAwMsvv4zPP/8ciYmJiIiIQM+ePZGYmKg5zb927drYsWMHMjIy0KZNG8yfPx+LFy824Z8OkWFkggfIiYhIAriHRkREksCgERGRJDBoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERScL/AT2fBONDhGLJAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2254±0.0468 95CI=(0.1542, 0.3018)\n", - " MSE: 0.0647±0.0275 95CI=(0.0300, 0.1120)\n", - " R2: -0.7618±16.2603 95CI=(-0.0136, 0.9874)\n", - "RMSE: 0.2488±0.0531 95CI=(0.1732, 0.3347)\n" - ] - }, - { - "data": { - "image/png": "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jh2La9euVbrO5OTkCt/TgoICE7+a8qp6/8aNG1dunB07dqxyvVK9fwwagG+++QbTp0/H3LlzkZ6ejq5du2LAgAG4cuVKhfNnZmZi4MCB6Nq1K9LT0/Haa69h2rRpWL9+vZlHXrXU1FTExcXh0KFD2LlzJ4qLixEdHY28vLwql/3999+RnZ2tvTVu3NgMI66+Fi1a6IzzxIkTeue1pfcOAI4cOaLz2nbu3AkAePrppytdzlrfu7y8PERGRmLZsmUVPr5o0SK8//77WLZsGY4cOQJ/f3/07dsXd+7c0bvOgwcPYvjw4RgzZgx+++03jBkzBjExMfjll19M9TL0quz15efnIy0tDa+//jrS0tKwYcMGnD17FkOHDq1yvV5eXjrvZ3Z2NlxdXU3xEipV1fsHAP3799cZ59atWytdp6TvnyDRvn178cILL+hMa9q0qZg9e3aF87/66quiadOmOtOef/550bFjR5ONUSrXr18XAERqaqreefbs2SMAiNu3b5tvYEaKj48XkZGRBs9vy++dEEK89NJLIiwsTJSWllb4uC29dwDExo0btfdLS0uFv7+/WLBggXZaQUGBUKlU4uOPP9a7npiYGNG/f3+daf369RMjRoyQfMzV8fDrq8jhw4cFAHH58mW986xevVqoVCppByeBil5fbGyseOyxx6q1HinfP7vfQrt37x5+/fVXREdH60yPjo7GgQMHKlzm4MGD5ebv168fjh49iqKiIpONVQoajQYA4O3tXeW8rVq1QkBAAHr37o09e/aYemhGO3fuHNRqNUJDQzFixAhcvHhR77y2/N7du3cPa9euxfjx46v8om1bee8elJmZiZycHJ33R6lUonv37np/FgH972lly1gLjUYDhUKB2rVrVzrf3bt3ERwcjAYNGmDw4MFIT083zwCNkJKSAl9fXzzyyCOYNGkSrl+/Xun8Ur5/dh+0GzduoKSkBH5+fjrT/fz8kJOTU+EyOTk5Fc5fXFyMGzdumGysNSWEwIwZM9ClSxeEh4frnS8gIACffvop1q9fjw0bNqBJkybo3bs39u7da8bRGqZDhw74/PPPsX37dqxYsQI5OTno1KkTbt68WeH8tvreAcCmTZvw119/Ydy4cXrnsaX37mFlP2/V+VksW666y1iDgoICzJ49G6NGjar0S3ubNm2K5ORk/PDDD/jqq6/g6uqKzp07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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4567±0.0149 95CI=(0.4344, 0.4844)\n", - " MSE: 0.3618±0.0253 95CI=(0.3243, 0.4090)\n", - " R2: 0.8168±0.0129 95CI=(0.7980, 0.8382)\n", - "RMSE: 0.6012±0.0209 95CI=(0.5695, 0.6395)\n" - ] - }, - { - "data": { - "image/png": "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aPy1feLECTg7O6NRo0Ya7apWrYry5cvjzJkzRm03NTVV57Lq1avrXad9+/ZwdXXF5s2bdd6OYCzxv0ngC+9XvXr1cPr0aa22qmV169bVuS1PT08MGDAA0dHR8PHxwUsvvaSzXYUKFQAA06dP19umZs2aAIC1a9eiXbt2iImJ0Xj90aNHWusMHz4cw4cPR2ZmJvbt24eoqCj07NkTFy9eRHBwsPoLPycnR+MPGX1Hc7qORCtUqIDnn38ec+fO1blOYGCgzuXFpfoZ/fzzzwgODjbLNsm+MNCoxHJycrB27Vo0a9ZM7xezLj///DOysrLQokUL9bLAwEDk5+fj2LFjaN68uXr5xYsXce/ePVSuXNmobX/33Xd4+eWX1c8PHjyI69evGwxcpVKJUaNGISYmBt98843Ono5XrlxBZmamwZ6O3377LVxdXdG4cWP1sr59+2LcuHE4cuSIer/y8vKwdu1aNG/e3OCX9tixY/H333+jbdu2ent51qxZEzVq1MDJkycxb948vdsCnobKs0fRp06dwqFDhxAUFKRzHS8vL0RERODJkyfo06cPzp49i+DgYPXpz1OnTmncd7h161aDNRTWs2dPbN++HdWqVUO5cuWMXq+4unbtChcXF1y5ckXj30ZJqH6OhY9syXYYaFRimzdvxv379/WGxfXr1zFw4EAMGDAA1atXh0wmw969e7F48WLUqVNHY73hw4dj0aJFePnllzFz5kzUrFkTV69exbx58+Dl5WX0kdPx48cxatQovPrqq7h58yZmzJiBSpUqqU+/6bNw4UJcvXoVw4YNw44dO9C3b1/4+/vj7t27iIuLw6pVq/DDDz/g+eefx8cff4ykpCR07NgRlStXRlpaGlasWIGdO3di9uzZ6iMC4Om1sGXLluHVV1/F/Pnz4efnh88//xwXLlzArl27DNbUoEEDbN68uch9/vLLLxEREYGuXbti2LBhqFSpEu7fv49z584hISEBP/30E4CnAfLBBx8gKioKbdu2xYULF/D+++8jNDRUo5v86NGj4eHhgVatWiEgIACpqamIjo6GQqFQh1f37t3h6+uLkSNH4v3334eLiwtWr16NmzdvFlmvyvvvv4+4uDi0bNkSEydORM2aNZGdnY1r165h+/bt+OKLL4z+Q8aQkJAQvP/++5gxYwauXr2Kbt26oVy5cvj7779x9OhReHl5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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4471±0.0217 95CI=(0.4145, 0.4838)\n", - " MSE: 0.3385±0.0363 95CI=(0.2930, 0.4102)\n", - " R2: 0.8199±0.0205 95CI=(0.7874, 0.8495)\n", - "RMSE: 0.5810±0.0309 95CI=(0.5413, 0.6405)\n" - ] - }, - { - "data": { - "image/png": "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bKhxrA0bNmgcx9PTU+MPLrlcrno/kh4O2yeTa9SoERYvXoxr166pbporPX36FKtXr0b9+vVRp04drfvHxsbixo0buHLlCp49e4YXX3xRNbDhlVdeMaiG9PR0rduKDkB5XuvWreHq6opNmzbh7bffNug42oj/LQJf9CqiVq1aOHPmjEZb5bbIyEit7+Xp6YlevXohISEBPj4++Ne//qW1nb+/PwBg0qRJOttUr14dALBmzRq0atUKiYmJaq8/fvxYY59BgwZh0KBByMrKwr59+xAfH4/OnTvj0qVLCAsLU/3Cz83NVbv3qetqTtuVqL+/P15++WXMnDlT6z4hISFat5eU8mf0/fffIywszCTvSdLCQCOT2717N5ycnFC5cmWN13766Sfcu3cPM2bM0PseMpkM1apVA1AYgvPmzUOdOnUMDrS1a9fitddeU31/8OBB3LhxQ+tVoVJQUBCGDBmCxMREfP3111pHOl69ehVZWVl6RzquXr0arq6uaiM1X331VYwYMQJHjhxB48aNARR2C65ZswaNGzfW+0t7+PDh+Ouvv9CyZUuNKwal6tWro1q1ajh16hQ+/vhjne8FFP5snx94c/r0aRw6dAihoaFa9/Hy8kJsbCyePn2K7t2749y5cwgLC1N1f54+fRoNGzZUtd+yZYveGorq3Lkztm3bhipVqqBs2bIG71dSHTp0gIuLC65evar2/0ZpKH+ORa9syXoYaGS0t956Cz4+PmjUqBECAwNx7949fPfdd9iwYQPef/99jaszoLC70cPDA3369NH5vu+88w5atWqFcuXK4dq1a5g/fz7+/PNPjXsp+hw/fhxDhgzB66+/jtTUVEyePBnly5dXdb/p8tlnn+HatWuIi4vDjh078Oqrr6rObefOnVixYgXWr1+Pl19+GZ988gmSk5MRHR2NChUq4M6dO1i2bBl++eUXTJs2TXVFABTeC1u4cCFef/11zJo1CwEBAVi0aBEuXryIXbt26a2pTp062LRpU7HnvGTJEsTGxqJDhw6Ii4tD+fLl8eDBA5w/fx5JSUn47rvvABQGyIcffoj4+Hi0bNkSFy9exIwZMxAeHq42TH7o0KHw8PBAs2bNEBwcjPT0dCQkJEChUKjCq2PHjvDz88PgwYMxY8YMuLi4YOXKlUhNTS22XqUZM2Zg586daNq0KUaPHo3q1asjJycH169f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4717±0.0221 95CI=(0.4335, 0.5090)\n", - " MSE: 0.3932±0.0380 95CI=(0.3295, 0.4515)\n", - " R2: 0.8117±0.0193 95CI=(0.7819, 0.8437)\n", - "RMSE: 0.6263±0.0304 95CI=(0.5740, 0.6720)\n" - ] - }, - { - "data": { - "image/png": "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rhUAxLPPPquy/eDBgwKA+OCDD5TbynY5Lly4UAAQ8fHx5davMGLECPHtt9+K/fv3ix9//FFERkYKAOLdd99Vaefs7CwmTpyotv+hQ4cEALFx40bltpCQENG/f38hhBBdunQRL7zwghBCiJ07dwqZTCbS0tLEDz/8oNbl2KhRI9GyZUtRWFio8h4DBgwQgYGBori4WONnKCoqEoWFhaJHjx4qP7epU6cKb29vnZ8/OjpaaPozovge0tLSVD6Xo6OjuHTpkkrbiRMniqpVq6p950uWLBEAxPnz54UQQqSlpQkAonnz5iqf5dNPPxUAxKBBg1T2nz59ugAgsrOzhRBC3Lx5Uzg5OYnXX39dpd3Dhw9FQECAGDp0qHJbVFSUACC+//57lbb9+vUTDRs2VD5nl6O08AyNKuydd97BsWPHsHPnTrzyyiuYOnUqlixZorX9+fPnceTIEYwcORKurq4qr7366qtwdnbGyJEjcf78edy9excrVqzA5s2bAUDjmYkmI0eOVHneoUMHhISEIDEx0cBPp9u3336LESNGoHPnznj++eexa9cuDBgwAAsXLsTt27dV2mrqmivvtVdeeQXbt2/H3bt3sXr1anTr1g116tRRa3f16lVcvHhR+bmLioqUj379+iEjIwOXLl1Stl+1ahVatWoFV1dXODk5wdnZGb/++isuXLigbNO2bVs8ePAAw4cPx7Zt23Dnzh1DfjQaNWvWDE899ZTKtp9//hndunVDUFCQSt2RkZEAgH379qm079evn8p/B40bNwYA9O/fX6WdYvvNmzcBALt370ZRURHGjBmj8j6urq7o0qWL2khFmUyGgQMHqtV/48YNIz89mRsDjSqsdu3aaNOmDfr164fY2Fi8+uqrmDNnjtofdAXFEPyy3UHAkz9CW7duxY0bNxAeHg5fX18sWrQI//nPfwAANWvW1KumgIAAjdvu3r2r83MAQFpaml7voc2oUaNQVFSE48ePK7dVr15d43sruv98fHw0HuuFF16Aq6srli5dih07dmDcuHEa2/31118AgLfeegvOzs4qj8mTJwOAMpA++eQTTJo0Ce3atcNPP/2Ew4cP49ixY+jbty/+/vtv5TFHjx6NNWvW4MaNG3j++efh5+eHdu3aISEhwYifyhOBgYEaa9+xY4da3U2aNFGpW6Hsz8rFxUXn9vz8fOX7AMDTTz+t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ODgYI0aMwMiRIxEXF6fsJlyzZg3q1q0LuVwOIQSys7Px6quvws/PD56enujevTtOnz6tcsyFCxfC398fHh4eGDduHPLz81VeL9vlWFJSgkWLFqF+/fqQy+WoXbs2PvzwQwBQrrTQsmVLyGQydO3aVbnf2rVr0bhxY7i6uqJRo0Zqa3QdPXoULVu2hKurK9q0aSPpFZOp8uIZGpGZuLm5obCwEABw9epVfP/99/jpp5/g6OgIAOjfvz98fHywa9cueHl54fPPP0ePHj1w+fJl+Pj44Pvvv0d0dDRWrFiBzp0745tvvsGyZctQt25dre85Z84cfPnll1i6dCk6deqEjIwMXLx4EcCTUGrbti327NmDJk2awMXFBQDw5ZdfIjo6GsuXL0fLli1x8uRJTJgwAe7u7oiKikJubi4GDBiA7t27Y8OGDUhLS8Mbb7xh5p8ekRGMmtKYiFRERUWJwYMHK58fOXJEVK9eXQwdOlRER0cLZ2dnkZWVpXz9119/FZ6eniI/P1/lOPXq1ROff/65EEKIiIgI8dprr6m83q5dO9G8eXON75uTkyPkcrn48ssvNdaomO395MmTKtuDg4PFxo0bVba9//77IiIiQgghxOeffy58fHxEbm6u8vXY2FiNxyKyJnY5EpnIzz//jKpVq8LV1RURERF45pln8N///hcAEBISgho1aijbnjhxAo8ePUL16tVRtWpV5SMtLQ2pqakAgAsXLiAiIkLlPco+L+3ChQsoKChAjx499K759u3bSE9Px7hx41Tq+OCDD1TqaN68OapUqaJXHUTWwi5HIhPp1q0bYmNj4ezsjKCgIJWBH+7u7iptS0pKEBgYiL1796odx9vb26j3d3NzM3ifkpISAE+6Hdu1a6fymqJrVHCFKbIRDDQiE3F3d0f9+vX1atuqVStkZmbCyckJderU0dimcePGOHz4MMaMGaPcdvjwYa3HbNCgAdzc3PDrr79i/Pjxaq8rrpkVFxcrt/n7+6NmzZq4du0aRo4cqfG4YWFh+Oabb/D3338rQ1NXHUTWwi5HIivo2bMnIiIiMGTIEOzevRvXr1/HoUOH8O677+L48eMAgDfeeANr1qzBmjVrcPnyZURHR+P8+fNaj+nq6opZs2bhX//6F77++mukpqbi8OHDWL16NQDAz88Pbm5uiI+Px19//YXs7GwAT27WjomJwWeffYbLly/j7NmzWLt2LT755BMAwIgRI+Dg4IBx48YhJSUFu3btwpIlS8z8EyIyHAONyApkMhl27dqFZ555Bq+88gqeeuopDBs2DNevX4e/vz8A4KWXXsK///1vzJo1C61bt8aNGzcwadIkncd97733MHPmTPz73/9G48aN8dJLLyErKwsA4OTkhGXLluHzzz9HUFAQBg8eDAAYP348vvrqK6xbtw5NmzZFly5dsG7dOuUw/6pVq2LHjh1ISUlBy5YtMXfuXCxatMiMPx0i48gEO8iJiMgO8AyNiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjsAgONiIjswv8DmgHYYRr1bSsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ],\n", - " \"kinase\": [\n", - " [\n", - " \"kinoml.features.protein.OneHotEncodedSequenceFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe888011b80>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fe7a3041c10>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/kinase-ligand-informed-smiles-sequence-EGFR/_output/20231106-110802\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...], ...]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"kinase-ligand-informed-smiles-sequence-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto__kinase__OneHotEncodedSequenceFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " [\n", - " 53,\n", - " 159\n", - " ],\n", - " [\n", - " 20,\n", - " 1210\n", - " ]\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\",\n", - " \"DATASETS\": [\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 7.89), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 9.04), ..., ([...], ...)]\",\n", - " \"[([[0, 0, 0, 0, ..., 0, 0, 0], ...], [[0, ...], ...], 6.14), ..., ([...], ...)]\"\n", - " ],\n", - " \"MEASUREMENT_TYPES\": \"{'P00533__pKdMeasurement', 'P00533__pIC50Measurement', 'P00533__pKiMeasurement'}\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2183750.0412380.0676850.0225510.9445250.0340340.2566060.042876
test0.2150770.0705800.0724870.0383960.8086320.5422670.2585690.075029
val0.2253990.0468430.0647030.027453-0.76182016.2603050.2487590.053127
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.4566580.0149270.3618270.0253000.8168410.0128790.6011580.020894
test0.4470510.0216540.3384910.0363380.8198910.0205380.5809790.030896
val0.4717340.0220940.3931630.0380300.8117120.0192680.6262900.030394
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2531970.0439990.1022290.0268420.9303210.0414150.3168500.042846
test0.2502220.0478300.0898640.0248070.9256210.0927490.2964900.044240
val0.2406980.0668490.1029360.0429500.8805250.1335830.3130560.070226
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 11:17:27.428671\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T11:17:27.435445+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "kinoml : 0+unknown\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 11:17:27 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 68C P8 22W / 80W | 49MiB / 16384MiB | 25% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/notebooks/kinoml_object_model.html b/docs/_build/html/notebooks/kinoml_object_model.html deleted file mode 100644 index 91a3841e..00000000 --- a/docs/_build/html/notebooks/kinoml_object_model.html +++ /dev/null @@ -1,1190 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KinoML object model — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -
-

KinoML object model

-

The KinoML object model provides access to binding affinity data in the context of machine learning for small molecule drug discovery (Fig. 1). The DatasetProvider is the central object for storing all relevant information of a dataset. It is essentially a list of Measurement objects, which contain the measured values (singlicate or replicates), associated to a System plus experimental AssayConditions. A System is a list of MolecularComponent objects; usually a -Protein and a Ligand. Featurizers will use the input of the MolecularComponents to represent the System in different formats for machine learning tasks, e.g. a Ligand as molecular fingerprint.

-
-
KinoML object model
-
Fig. 2: KinoML object model.
-
-

KinoML has a focus on protein kinases but the architecture is applicable to protein targets in general. When writing your own KinoML objects it is recommended to move computational expensive tasks to the Featurizer level, which is capable of multi-processing. For example Protein objects can be initialized with nothing else but a UniProt ID. The amino acid sequence will be fetched when the Protein’s sequence attribute is called for the first time. Thus, one can quickly generate -many Protein objects and the more time-consuming sequence fetching is done with multi-processing during featurization.

-

In the following section, different KinoML objects will be introduced including code examples.

-
-

Molecular components

-

Molecular components like ligands and proteins store molecular representations, a name and additional metadata, that may be important for working with the data and provenance.

-
-

Ligands

-

Ligand objects store information about the molecular structure of a ligand, usually a small molecule with certain activity for a target.

-

The Ligand object is based on the OpenFF-Toolkit Molecule object, which can be accessed via the molecule attribute. This also allows usage of methods of the OpenFF-Toolkit Molecule including conversion to other toolkits, e.g. RDKit and OpenEye. The Ligand object can be directly -initialized via SMILES or file including interpretation of the given input, or lazely initialized via SMILES without any interpretation of the given input.

-
-
[1]:
-
-
-
from openff.toolkit.utils.exceptions import SMILESParseError
-
-from kinoml.core.ligands import Ligand
-
-
-
-
-
[2]:
-
-
-
# initialize a Ligand from SMILES, the molecule will be directly interpreted
-ligand = Ligand.from_smiles("CCC", name="propane")
-print(type(ligand))
-print(type(ligand.molecule))
-print(type(ligand.molecule.to_rdkit()))
-print(ligand.molecule.to_smiles(explicit_hydrogens=False))
-
-
-
-
-
-
-
-
-<class 'kinoml.core.ligands.Ligand'>
-<class 'openff.toolkit.topology.molecule.Molecule'>
-<class 'rdkit.Chem.rdchem.Mol'>
-CCC
-
-
-
-
[3]:
-
-
-
# erroneous input will raise errors during initialization
-try:
-    ligand = Ligand.from_smiles("XXX", name="wrong_smiles")
-    print("Success!")
-except SMILESParseError:
-    print("Failed!")
-
-
-
-
-
-
-
-
-Failed!
-
-
-
-
-
-
-
-Warning: Problem parsing SMILES:
-Warning: XXX
-Warning: ^
-
-
-
-
-
[4]:
-
-
-
# Ligands can also be lazely initialized via SMILES
-# here the interpretation is done when calling the molecule attribute for the first time
-ligand = Ligand(smiles="CCC", name="propane")
-print(type(ligand.molecule))
-
-
-
-
-
-
-
-
-<class 'openff.toolkit.topology.molecule.Molecule'>
-
-
-
-
[5]:
-
-
-
# this makes the object generation faster
-# but will result in interpretation errors later, e.g. during a featurization step
-# hence featurizers need to detect and remove those systems
-ligand = Ligand(smiles="XXX", name="wrong_smiles")
-print("Ligand lazely initialized!")
-try:
-    print(type(ligand.molecule))
-    print("Success!")
-except SMILESParseError:
-    print("Failed!")
-
-
-
-
-
-
-
-
-Ligand lazely initialized!
-Failed!
-
-
-
-
-
-
-
-Warning: Problem parsing SMILES:
-Warning: XXX
-Warning: ^
-
-
-
-
-
-

Proteins

-

Protein objects store information about the molecular structure of a protein, e.g. the target of a small molecule inhibitor.

-

KinoML provides two different Protein objects, i.e. Protein (applicable to all proteins) and KLIFSKinase (allows access to information from the protein kinase-specific KLIFS database). Similar to Ligand, protein objects can be directly or lazily initialized.

-

Again, the molecular structure is accessable via the molecule attribute. However, both protein objects support two toolkits, i.e. MDAnalysis and OpenEye, which can be specified via the toolkit argument. A conversion from one toolkit to the other after initialization is currently not possible, but likely not needed anyway.

-

Another important attribute of proteins is their sequence. Depending on the used featurizer, a molecular structure may actually not be required, for example in case of OneHotEncoding of the sequence. Hence, you can also initialize Protein and KLIFSKinase using sequence identifiers only, e.g. UniProt ID or NCBI ID. This is always done lazily, so the sequences will be fetched from the respective resource on the first call of the sequence attribute. Protein and KLIFSKinase -inherit their sequence-related functionality from the AminoAcidSequence object in kinoml.core.sequences, which allows for further a customization of sequences, e.g. mutations. For more details have a look at the AminoAcidSequence class in the respective section of the KinoML API documentation.

-
-
[6]:
-
-
-
from kinoml.core.proteins import Protein, KLIFSKinase
-
-
-
-
-
-
-
-
-/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
-  setattr(self, word, getattr(machar, word).flat[0])
-/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
-  return self._float_to_str(self.smallest_subnormal)
-/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
-  setattr(self, word, getattr(machar, word).flat[0])
-/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
-  return self._float_to_str(self.smallest_subnormal)
-
-
-
-
[7]:
-
-
-
# initialize from PDB ID with different toolkits
-protein = Protein.from_pdb("4yne", name="NTRK1")
-protein2 = Protein.from_pdb("4yne", name="NTRK1", toolkit="MDAnalysis")
-print(type(protein.molecule))
-print(type(protein2.molecule))
-protein2
-
-
-
-
-
-
-
-
-Warning: importing 'simtk.openmm' is deprecated.  Import 'openmm' instead.
-
-
-
-
-
-
-
-<class 'openeye.oechem.OEGraphMol'>
-<class 'MDAnalysis.core.universe.Universe'>
-
-
-
-
[7]:
-
-
-
-
-<Protein name=NTRK1>
-
-
-
-
[8]:
-
-
-
# initialize lazily via PDB ID
-protein = Protein(pdb_id="4nye", name="NTRK1")
-print(type(protein.molecule))
-
-
-
-
-
-
-
-
-<class 'openeye.oechem.OEGraphMol'>
-
-
-
-
[9]:
-
-
-
# note there is no sequence yet, since no UniProt ID was given
-print(len(protein.sequence))
-# but one could get it from the protein structure if needed
-
-
-
-
-
-
-
-
-0
-
-
-
-
[10]:
-
-
-
# initialize with sequence from UniProt
-protein = Protein(uniprot_id="P04629", name="NTRK1")
-print(protein.sequence[:10])
-# initialize with sequence from UniProt and custom mutations
-protein = Protein(uniprot_id="P04629", name="NTRK1", metadata={"mutations": "R3A"})
-print(protein.sequence[:10])
-print(type(protein.molecule))  # a molecule is not available
-
-
-
-
-
-
-
-
-MLRGGRRGQL
-MLAGGRRGQL
-<class 'NoneType'>
-
-
-
-
[11]:
-
-
-
# get the kinase KLIFS pocket sequence via different identifiers (lazy)
-kinase = KLIFSKinase(uniprot_id="P04629", name="NTRK1")
-print(kinase.kinase_klifs_sequence)
-kinase = KLIFSKinase(ncbi_id="NP_001007793", name="NTRK1")
-print(kinase.kinase_klifs_sequence)
-kinase = KLIFSKinase(kinase_klifs_id=480, name="NTRK1")
-print(kinase.kinase_klifs_sequence)
-
-
-
-
-
-
-
-
-WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS
-WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS
-WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS
-
-
-
-
-
-

Systems

-

Systems store all molecular components for a given activity data point. They may only contain a Ligand in case of purely ligand-based featurization but can also contain a Protein, i.e. LigandSystem, ProteinSystem, ProteinLigandComplex.

-
-
[12]:
-
-
-
from kinoml.core.systems import LigandSystem, ProteinSystem, ProteinLigandComplex
-
-
-
-
-
[13]:
-
-
-
ligand = Ligand(smiles="CCC", name="propane")
-protein = Protein(uniprot_id="P04629", name="NTRK1")
-
-
-
-
-
[14]:
-
-
-
system = LigandSystem(components=[ligand])
-system
-
-
-
-
-
[14]:
-
-
-
-
-<LigandSystem with 1 components (<Ligand name=propane>)>
-
-
-
-
[15]:
-
-
-
system = ProteinSystem(components=[protein])
-system
-
-
-
-
-
[15]:
-
-
-
-
-<ProteinSystem with 1 components (<Protein name=NTRK1>)>
-
-
-
-
[16]:
-
-
-
system = ProteinLigandComplex(components=[ligand, protein])
-system
-
-
-
-
-
[16]:
-
-
-
-
-<ProteinLigandComplex with 2 components (<Ligand name=propane>, <Protein name=NTRK1>)>
-
-
-
-
-

Featurizers

-

Featurizers ingest Systems to compute features for e.g. machine learning tasks. Systems failing during featurization will be removed, e.g. erroneous SMILES. Featurizations are stored in each system for later usage.

-
-
[17]:
-
-
-
from kinoml.features.ligand import MorganFingerprintFeaturizer
-
-
-
-
-
[18]:
-
-
-
# generate systems with lazily initialized ligands
-systems = [
-    LigandSystem(components=[Ligand(smiles=smiles, name=str(i))])
-    for i, smiles in enumerate(["C", "?", "CC", "CCC"])
-]
-systems
-
-
-
-
-
[18]:
-
-
-
-
-[<LigandSystem with 1 components (<Ligand name=0>)>,
- <LigandSystem with 1 components (<Ligand name=1>)>,
- <LigandSystem with 1 components (<Ligand name=2>)>,
- <LigandSystem with 1 components (<Ligand name=3>)>]
-
-
-
-
[19]:
-
-
-
# the featurization will lead to interpretation of the given SMILES for the first time
-# failing systems will not be returned
-featurizer = MorganFingerprintFeaturizer()
-systems = featurizer.featurize(systems)
-systems
-
-
-
-
-
-
-
-
-Warning: Problem parsing SMILES:
-Warning: ?
-Warning: ^
-
-
-
-
-
[19]:
-
-
-
-
-[<LigandSystem with 1 components (<Ligand name=0>)>,
- <LigandSystem with 1 components (<Ligand name=2>)>,
- <LigandSystem with 1 components (<Ligand name=3>)>]
-
-
-
-
[20]:
-
-
-
# featurizations are stored in each system as a dict
-# the lastly performed featurization is additionally stored with the "last" key
-systems[0].featurizations
-
-
-
-
-
[20]:
-
-
-
-
-{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0]),
- 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0])}
-
-
-
-
-

Measurements

-

Measurements combine information for a given activity data point, i.e. System, AssayCondition and activity values. Currently available Measurement objects are PercentageDisplacementMeasurement, pIC50Measurement, pKiMeasurement, pKdMeasurement.

-
-
[21]:
-
-
-
from kinoml.core.conditions import AssayConditions
-from kinoml.core.measurements import PercentageDisplacementMeasurement
-
-
-
-
-
[22]:
-
-
-
ligand = Ligand(smiles="CCC", name="propane")
-protein = Protein(uniprot_id="P04629", name="NTRK1")
-measurement = PercentageDisplacementMeasurement(
-    10,
-    conditions=AssayConditions(pH=7.0),
-    system=ProteinLigandComplex(components=[ligand, protein]),
-)
-measurement
-
-
-
-
-
[22]:
-
-
-
-
-<PercentageDisplacementMeasurement values=[10] conditions=<AssayConditions pH=7.0> system=<ProteinLigandComplex with 2 components (<Ligand name=propane>, <Protein name=NTRK1>)>>
-
-
-
-
-

DatasetProviders

-

DatasetProviders are essentially a list of Measurements, which can be used for machine learning experiments. Featurizers can be passed to allow a featurization of all available Systems. Currently, KinoML is shipped with DatasetProviders for PKIS2 and ChEMBL datasets allowing quick experiment design.

-
-
[23]:
-
-
-
from kinoml.datasets.chembl import ChEMBLDatasetProvider
-from kinoml.datasets.pkis2 import PKIS2DatasetProvider
-
-
-
-
-
[24]:
-
-
-
# load data points given by the PKIS2 publication (https://doi.org/10.1371/journal.pone.0181585)
-pkis2 = PKIS2DatasetProvider.from_source()
-print(pkis2)
-
-
-
-
-
-
-
-
-<PKIS2DatasetProvider with 261870 PercentageDisplacementMeasurement measurements and 261870 systems (Ligand=640, KLIFSKinase=406)>
-
-
-
-
[25]:
-
-
-
# load curated ChEMBL data points available at https://github.com/openkinome/kinodata
-# here the more general "Protein" object will be used instead of the default "KLIFSKinase"
-# also protein objects will be initialized with the MDAnalysis toolkit
-chembl = ChEMBLDatasetProvider.from_source(
-    path_or_url="https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip",
-    measurement_types=("pIC50", "pKi", "pKd"),
-    protein_type="Protein",
-    toolkit="MDAnalysis",
-)
-chembl
-
-
-
-
-
-
-
-
-
-
-
[25]:
-
-
-
-
-<ChEMBLDatasetProvider with 190469 measurements (pIC50Measurement=160703, pKiMeasurement=15653, pKdMeasurement=14113), and 188032 systems (Protein=462, Ligand=115207)>
-
-
-
-
[26]:
-
-
-
# loading a smaller sample allows rapid testing
-# loading now with default "KLIFSKinase" protein object
-chembl = ChEMBLDatasetProvider.from_source(
-    path_or_url="https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip",
-    measurement_types=["pKi"],
-    sample=100,
-)
-chembl
-
-
-
-
-
-
-
-
-
-
-
[26]:
-
-
-
-
-<ChEMBLDatasetProvider with 100 measurements (pKiMeasurement=100), and 100 systems (KLIFSKinase=38, Ligand=100)>
-
-
-
-
[27]:
-
-
-
%%capture --no-display
-# upper statement to hide warnings
-# all systems will be successfully featurized
-chembl.featurize(MorganFingerprintFeaturizer())
-chembl
-
-
-
-
-
[27]:
-
-
-
-
-<ChEMBLDatasetProvider with 100 measurements (pKiMeasurement=100), and 100 systems (KLIFSKinase=38, Ligand=100)>
-
-
-
-
[28]:
-
-
-
from kinoml.features.protein import OneHotEncodedSequenceFeaturizer
-
-
-
-
-
[29]:
-
-
-
# not all systems maybe featurizable and will be removed, e.g. erroneous SMILES
-# here certain ChEMBL data points are for kinases that are not available in KLIFS
-chembl.featurize(OneHotEncodedSequenceFeaturizer(sequence_type="klifs_kinase"))
-chembl
-
-
-
-
-
-
-
-
-There were 3 systems that could not be featurized!
-
-
-
-
[29]:
-
-
-
-
-<ChEMBLDatasetProvider with 97 measurements (pKiMeasurement=97), and 97 systems (KLIFSKinase=37, Ligand=97)>
-
-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/kinoml_object_model.ipynb b/docs/_build/html/notebooks/kinoml_object_model.ipynb deleted file mode 100644 index c5edd21f..00000000 --- a/docs/_build/html/notebooks/kinoml_object_model.ipynb +++ /dev/null @@ -1,903 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "6be1d23b-bf95-473b-8086-9b305ff2ada5", - "metadata": { - "tags": [] - }, - "source": [ - "# KinoML object model" - ] - }, - { - "cell_type": "markdown", - "id": "6a2dfe77-6493-4b81-80be-4f5d45304f84", - "metadata": {}, - "source": [ - "The KinoML object model provides access to binding affinity data in the context of machine learning for small molecule drug discovery (Fig. 1). The `DatasetProvider` is the central object for storing all relevant information of a dataset. It is essentially a list of `Measurement` objects, which contain the measured `values` (singlicate or replicates), associated to a `System` plus experimental `AssayCondition`s. A `System` is a list of `MolecularComponent` objects; usually a `Protein` and a `Ligand`. `Featurizer`s will use the input of the `MolecularComponent`s to represent the `System` in different formats for machine learning tasks, e.g. a `Ligand` as molecular fingerprint." - ] - }, - { - "cell_type": "markdown", - "id": "086fa441-42de-46cd-a7a5-3371de361fab", - "metadata": {}, - "source": [ - "![KinoML object model](../../kinoml/data/object_model.png) \n", - "**Fig. 2:** KinoML object model." - ] - }, - { - "cell_type": "markdown", - "id": "6529b16b-1738-476d-8982-ee53f9a361ea", - "metadata": {}, - "source": [ - "KinoML has a focus on protein kinases but the architecture is applicable to protein targets in general. When writing your own KinoML objects it is recommended to move computational expensive tasks to the `Featurizer` level, which is capable of multi-processing. For example `Protein` objects can be initialized with nothing else but a UniProt ID. The amino acid sequence will be fetched when the `Protein`'s `sequence` attribute is called for the first time. Thus, one can quickly generate many `Protein` objects and the more time-consuming sequence fetching is done with multi-processing during featurization." - ] - }, - { - "cell_type": "markdown", - "id": "5926f821-577b-40cf-b182-fc0ee554cafe", - "metadata": {}, - "source": [ - "In the following section, different KinoML objects will be introduced including code examples." - ] - }, - { - "cell_type": "markdown", - "id": "4bcf7ddd-2653-4ac0-85b9-81798471107d", - "metadata": { - "tags": [] - }, - "source": [ - "## Molecular components\n", - "\n", - "Molecular components like ligands and proteins store molecular representations, a `name` and additional `metadata`, that may be important for working with the data and provenance." - ] - }, - { - "cell_type": "markdown", - "id": "07b79cee-43b8-4475-a5a7-561407f2a5a9", - "metadata": {}, - "source": [ - "### Ligands\n", - "\n", - "Ligand objects store information about the molecular structure of a ligand, usually a small molecule with certain activity for a target. \n", - "\n", - "The `Ligand` object is based on the OpenFF-Toolkit `Molecule` [object](https://github.com/openforcefield/openff-toolkit/blob/master/openff/toolkit/topology/molecule.py), which can be accessed via the `molecule` attribute. This also allows usage of methods of the OpenFF-Toolkit `Molecule` including conversion to other toolkits, e.g. [RDKit](https://www.rdkit.org/docs/) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html). The `Ligand` object can be directly initialized via SMILES or file including interpretation of the given input, or lazely initialized via SMILES without any interpretation of the given input." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f72e0dab-aafb-460d-9b1f-f32fa84784cb", - "metadata": {}, - "outputs": [], - "source": [ - "from openff.toolkit.utils.exceptions import SMILESParseError\n", - "\n", - "from kinoml.core.ligands import Ligand" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1672a883-5bb6-43c6-96a7-f904ddeef81c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n", - "CCC\n" - ] - } - ], - "source": [ - "# initialize a Ligand from SMILES, the molecule will be directly interpreted\n", - "ligand = Ligand.from_smiles(\"CCC\", name=\"propane\")\n", - "print(type(ligand))\n", - "print(type(ligand.molecule))\n", - "print(type(ligand.molecule.to_rdkit()))\n", - "print(ligand.molecule.to_smiles(explicit_hydrogens=False))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "48760c2f-cb72-4f80-a3a4-42339d3de3d7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# erroneous input will raise errors during initialization\n", - "try:\n", - " ligand = Ligand.from_smiles(\"XXX\", name=\"wrong_smiles\")\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ca7b3ada-7400-4259-8289-5ec7aee190c7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# Ligands can also be lazely initialized via SMILES\n", - "# here the interpretation is done when calling the molecule attribute for the first time\n", - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "print(type(ligand.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8aca1621-b2a0-4cf2-8439-7ad785079372", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ligand lazely initialized!\n", - "Failed!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: XXX\n", - "Warning: ^\n", - "\n" - ] - } - ], - "source": [ - "# this makes the object generation faster \n", - "# but will result in interpretation errors later, e.g. during a featurization step\n", - "# hence featurizers need to detect and remove those systems\n", - "ligand = Ligand(smiles=\"XXX\", name=\"wrong_smiles\")\n", - "print(\"Ligand lazely initialized!\")\n", - "try:\n", - " print(type(ligand.molecule))\n", - " print(\"Success!\")\n", - "except SMILESParseError:\n", - " print(\"Failed!\")" - ] - }, - { - "cell_type": "markdown", - "id": "c9f26b15-eaee-451f-9545-3c09c8b1b2d0", - "metadata": {}, - "source": [ - "### Proteins\n", - "\n", - "Protein objects store information about the molecular structure of a protein, e.g. the target of a small molecule inhibitor.\n", - "\n", - "KinoML provides two different Protein objects, i.e. `Protein` (applicable to all proteins) and `KLIFSKinase` (allows access to information from the protein kinase-specific KLIFS database). Similar to `Ligand`, protein objects can be directly or lazily initialized.\n", - "\n", - "Again, the molecular structure is accessable via the `molecule` attribute. However, both protein objects support two toolkits, i.e. [MDAnalysis](https://docs.mdanalysis.org/stable/index.html) and [OpenEye](https://docs.eyesopen.com/toolkits/python/index.html), which can be specified via the toolkit argument. A conversion from one toolkit to the other after initialization is currently not possible, but likely not needed anyway.\n", - "\n", - "Another important attribute of proteins is their `sequence`. Depending on the used featurizer, a molecular structure may actually not be required, for example in case of OneHotEncoding of the sequence. Hence, you can also initialize `Protein` and `KLIFSKinase` using sequence identifiers only, e.g. UniProt ID or NCBI ID. This is always done lazily, so the sequences will be fetched from the respective resource on the first call of the `sequence` attribute. `Protein` and `KLIFSKinase` inherit their sequence-related functionality from the `AminoAcidSequence` object in `kinoml.core.sequences`, which allows for further a customization of sequences, e.g. mutations. For more details have a look at the `AminoAcidSequence` class in the [respective section](https://openkinome.org/kinoml/api/kinoml/core/sequences/index.html) of the KinoML API documentation." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1fffad99-3307-48fb-a9b8-f887e995357d", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:499: UserWarning: The value of the smallest subnormal for type is zero.\n", - " setattr(self, word, getattr(machar, word).flat[0])\n", - "/home/david/miniconda3/envs/kinoml/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.\n", - " return self._float_to_str(self.smallest_subnormal)\n" - ] - } - ], - "source": [ - "from kinoml.core.proteins import Protein, KLIFSKinase" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f1aa904b-6511-4b8a-acef-50a5e7f477e2", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# initialize from PDB ID with different toolkits\n", - "protein = Protein.from_pdb(\"4yne\", name=\"NTRK1\")\n", - "protein2 = Protein.from_pdb(\"4yne\", name=\"NTRK1\", toolkit=\"MDAnalysis\")\n", - "print(type(protein.molecule))\n", - "print(type(protein2.molecule))\n", - "protein2" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "10cd6b48-f1d7-4fd3-8f38-5094755526ed", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# initialize lazily via PDB ID\n", - "protein = Protein(pdb_id=\"4nye\", name=\"NTRK1\")\n", - "print(type(protein.molecule))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "6cd65e0c-f2cf-452c-ad8b-0db2620bd655", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# note there is no sequence yet, since no UniProt ID was given\n", - "print(len(protein.sequence))\n", - "# but one could get it from the protein structure if needed" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "00499520-3d8c-4f77-8f6f-98682f47db62", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MLRGGRRGQL\n", - "MLAGGRRGQL\n", - "\n" - ] - } - ], - "source": [ - "# initialize with sequence from UniProt\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(protein.sequence[:10])\n", - "# initialize with sequence from UniProt and custom mutations\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\", metadata={\"mutations\": \"R3A\"})\n", - "print(protein.sequence[:10])\n", - "print(type(protein.molecule)) # a molecule is not available" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "94839c47-8b58-4ba3-8446-c9425ae3c9e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n", - "WELGEGAFGKVFLVAVKALDFQREAELLTMLQQHIVRFFGVLMVFEYMRHGDLNRFLRSYLAGLHFVHRDLATRNCLVIGDFGMS\n" - ] - } - ], - "source": [ - "# get the kinase KLIFS pocket sequence via different identifiers (lazy)\n", - "kinase = KLIFSKinase(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(ncbi_id=\"NP_001007793\", name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)\n", - "kinase = KLIFSKinase(kinase_klifs_id=480, name=\"NTRK1\")\n", - "print(kinase.kinase_klifs_sequence)" - ] - }, - { - "cell_type": "markdown", - "id": "30dfcae2-24eb-4cfa-8243-61b842a27b33", - "metadata": {}, - "source": [ - "## Systems" - ] - }, - { - "cell_type": "markdown", - "id": "ffde61a8-a989-4cc7-9cd6-63dd2966932d", - "metadata": {}, - "source": [ - "Systems store all molecular components for a given activity data point. They may only contain a `Ligand` in case of purely ligand-based featurization but can also contain a `Protein`, i.e. `LigandSystem`, `ProteinSystem`, `ProteinLigandComplex`." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "b69b053a-34c4-496a-9556-6014b84b0b24", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.systems import LigandSystem, ProteinSystem, ProteinLigandComplex" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "d6252a11-a0c2-4271-bb9e-c631c47dfef3", - "metadata": {}, - "outputs": [], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "bf198411-2706-4aac-9d5f-76b949570c62", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = LigandSystem(components=[ligand])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "896d8887-9c47-40c3-87a8-3c1fe7526c84", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ")>" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinSystem(components=[protein])\n", - "system" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "f10aaeac-f9eb-478e-94dd-1567bddc7d31", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - ", )>" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "system = ProteinLigandComplex(components=[ligand, protein])\n", - "system" - ] - }, - { - "cell_type": "markdown", - "id": "19763f3a-0c52-49f6-8b17-a91716b3c567", - "metadata": {}, - "source": [ - "## Featurizers\n", - "\n", - "`Featurizer`s ingest `System`s to compute features for e.g. machine learning tasks. Systems failing during featurization will be removed, e.g. erroneous SMILES. Featurizations are stored in each system for later usage." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "b8f71ee1-eea6-4cfb-970f-e721ea447331", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.ligand import MorganFingerprintFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "907f0b9b-e97f-4eba-acd1-19161336efe2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# generate systems with lazily initialized ligands\n", - "systems = [\n", - " LigandSystem(components=[Ligand(smiles=smiles, name=str(i))]) \n", - " for i, smiles in enumerate([\"C\", \"?\", \"CC\", \"CCC\"])\n", - "]\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "cdfb7e2a-7c86-4cd1-897a-a85fe564c4f8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning: Problem parsing SMILES:\n", - "Warning: ?\n", - "Warning: ^\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "[)>,\n", - " )>,\n", - " )>]" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# the featurization will lead to interpretation of the given SMILES for the first time\n", - "# failing systems will not be returned\n", - "featurizer = MorganFingerprintFeaturizer()\n", - "systems = featurizer.featurize(systems)\n", - "systems" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "fac767ed-ec37-44a6-8a96-f744e2d7301e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'last': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0]),\n", - " 'MorganFingerprintFeaturizer': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0])}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# featurizations are stored in each system as a dict\n", - "# the lastly performed featurization is additionally stored with the \"last\" key\n", - "systems[0].featurizations" - ] - }, - { - "cell_type": "markdown", - "id": "fad90ed3-39d0-4ebe-9a37-2a6ac359152c", - "metadata": {}, - "source": [ - "## Measurements" - ] - }, - { - "cell_type": "markdown", - "id": "e6665be2-a51d-4e43-93b1-55040e0d3c4e", - "metadata": {}, - "source": [ - "`Measurement`s combine information for a given activity data point, i.e. `System`, `AssayCondition` and activity `values`. Currently available `Measurement` objects are `PercentageDisplacementMeasurement`, `pIC50Measurement`, `pKiMeasurement`, `pKdMeasurement`." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "7353e4db-4441-494c-af5d-8c7fecac16d1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.core.conditions import AssayConditions\n", - "from kinoml.core.measurements import PercentageDisplacementMeasurement" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "d6bca4e5-40e7-4b4d-84c5-cabba48959cb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " system=, )>>" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ligand = Ligand(smiles=\"CCC\", name=\"propane\")\n", - "protein = Protein(uniprot_id=\"P04629\", name=\"NTRK1\")\n", - "measurement = PercentageDisplacementMeasurement(\n", - " 10,\n", - " conditions=AssayConditions(pH=7.0),\n", - " system=ProteinLigandComplex(components=[ligand, protein]),\n", - ")\n", - "measurement" - ] - }, - { - "cell_type": "markdown", - "id": "666bac1e-6a67-44af-946f-70d3fd3a557d", - "metadata": {}, - "source": [ - "## DatasetProviders\n", - "\n", - "`DatasetProviders` are essentially a list of `Measurement`s, which can be used for machine learning experiments. `Featurizer`s can be passed to allow a featurization of all available `System`s. Currently, KinoML is shipped with `DatasetProvider`s for [PKIS2](https://doi.org/10.1371/journal.pone.0181585) and [ChEMBL](https://www.ebi.ac.uk/chembl/) datasets allowing quick experiment design." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "0db9d114-8f7f-41b2-a94d-bc6b9906dce1", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.datasets.chembl import ChEMBLDatasetProvider\n", - "from kinoml.datasets.pkis2 import PKIS2DatasetProvider" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "4e0ce095-ee95-4896-912a-df82301592d9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "# load data points given by the PKIS2 publication (https://doi.org/10.1371/journal.pone.0181585)\n", - "pkis2 = PKIS2DatasetProvider.from_source()\n", - "print(pkis2)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f89dcc94-bd34-48a1-b807-44b940b61d82", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b89a3b1bc95047658f2c635c58b233ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/190469 [00:00" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# load curated ChEMBL data points available at https://github.com/openkinome/kinodata\n", - "# here the more general \"Protein\" object will be used instead of the default \"KLIFSKinase\"\n", - "# also protein objects will be initialized with the MDAnalysis toolkit\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=(\"pIC50\", \"pKi\", \"pKd\"),\n", - " protein_type=\"Protein\",\n", - " toolkit=\"MDAnalysis\",\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "0109aa8d-ed17-4d74-bd0c-27df666039f4", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f8e922d72ca4f5886727d3da11b372e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/100 [00:00" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# loading a smaller sample allows rapid testing\n", - "# loading now with default \"KLIFSKinase\" protein object\n", - "chembl = ChEMBLDatasetProvider.from_source(\n", - " path_or_url=\"https://github.com/openkinome/datascripts/releases/download/v0.3/activities-chembl29_v0.3.zip\",\n", - " measurement_types=[\"pKi\"],\n", - " sample=100,\n", - ")\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "42da4de8-f4f9-4547-80b1-d146ecf40577", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%capture --no-display\n", - "# upper statement to hide warnings\n", - "# all systems will be successfully featurized\n", - "chembl.featurize(MorganFingerprintFeaturizer())\n", - "chembl" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "84bc3581-e429-4b0a-95e1-2f7ff40b4406", - "metadata": {}, - "outputs": [], - "source": [ - "from kinoml.features.protein import OneHotEncodedSequenceFeaturizer" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "60071a64-86b9-49e0-a741-9f9f6563269f", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "There were 3 systems that could not be featurized!\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# not all systems maybe featurizable and will be removed, e.g. erroneous SMILES\n", - "# here certain ChEMBL data points are for kinases that are not available in KLIFS\n", - "chembl.featurize(OneHotEncodedSequenceFeaturizer(sequence_type=\"klifs_kinase\"))\n", - "chembl" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.html b/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.html deleted file mode 100644 index f90cae05..00000000 --- a/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.html +++ /dev/null @@ -1,9553 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ligand-only morgan 1024 experiment — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

Ligand-only morgan 1024 experiment

-

In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use kinoml.features.ligand.MorganFingerprintFeaturizer, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment.

-
-

1. Featurize the dataset

-

Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.

-

kinoml.dataset.DatasetProvider objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of kinoml.core.BaseMeasurement, each containing a set of .values and a some extra metadata, like the system objects to be featurized here.

-

In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).

-

Available featurizers can be found under kinoml.features.

-
-
[1]:
-
-
-
# If this is the template file (and not a copy) and you are introducing changes,
-# update VERSION with the current date (YYYY.MM.DD)
-VERSION = "2023.11.06"
-
-
-
-
-
[2]:
-
-
-
#fuction to obtain current working path to ouput results
-def main():
-    parameters["HERE"] = str(nbout.parent.resolve())
-
-
-
-
-
[3]:
-
-
-
HERE = _dh[-1] #current path
-
-
-
-
-

✏ Define hyper parameters

-

Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc…)

-
-
[4]:
-
-
-
# Parameters
-DATASET_CLS = "kinoml.datasets.chembl.ChEMBLDatasetProvider"
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv", #your dataset
-    "measurement_types": ["pIC50", "pKd", "pKi"], #the type of measurements you are interested in
-    "uniprot_ids": ["P00533"], #the kinase
-    "sample": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number
-}
-PIPELINES = {
-    "ligand": [
-        [
-            "kinoml.features.ligand.MorganFingerprintFeaturizer",
-            {"nbits": 1024, "radius": 2},
-        ]
-    ]
-}
-PIPELINES_AGG = "kinoml.features.core.TupleOfArrays"
-PIPELINES_AGG_KWARGS = {}
-FEATURIZE_KWARGS = {"keep": False}
-GROUPS = [
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: type(measurement).__name__"},
-    ]
-]
-TRAIN_TEST_VAL_KWARGS = {"idx_train": 0.8, "idx_test": 0.1, "idx_val": 0.1}
-#HERE = "."
-
-
-
-

⚠ If you are adapting this notebook to your own dataset, you should not need to modify anything from here 🤞

-
-

Define key paths for data and outputs:

-
-
[5]:
-
-
-
from pathlib import Path
-
-HERE = Path(HERE)
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-# Generate paths for this pipeline
-featurizer_path = []
-for name, branch in PIPELINES.items():
-    featurizer_path.append(name)
-    for clsname, kwargs in branch:
-        clsname = clsname.rsplit(".", 1)[1]
-        kwargs = [f"{k}={''.join(c for c in str(v) if c.isalnum())}" for k,v in kwargs.items()]
-        featurizer_path.append("_".join([clsname] + kwargs))
-
-OUT = HERE / "_output"  / "__".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider
-
-
-
-
[6]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
-

Setup is finished, start working

-
-
[7]:
-
-
-
from warnings import warn
-import os
-import sys
-from pathlib import Path
-from datetime import datetime
-
-import numpy as np
-import awkward as ak
-
-from kinoml.utils import seed_everything, import_object
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 10:51:16.674245
-
-
-
-
-

Load raw data

-
-

This import_object function allows us to take a str containing a Python import path (e.g. kinoml.datasets.chembl.ChEMBLDatasetProvider) and obtain the imported object directly. That’s how we can encode classes in JSON-only papermill inputs.

-

See the help message import_object? for more info. Note that you need an OE license

-
-
-
[8]:
-
-
-

dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS) -dataset -
-
-
-
-
-
-
-
-/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).
-  from pandas.core.computation.check import NUMEXPR_INSTALLED
-
-
-
-
-
-
-
-
-
-
[8]:
-
-
-
-
-<ChEMBLDatasetProvider with 3000 measurements (pIC50Measurement=2826, pKdMeasurement=53, pKiMeasurement=121), and 3000 systems (KLIFSKinase=1, Ligand=3000)>
-
-
-
-
[9]:
-
-
-
#visualise your dataset!
-
-df = dataset.to_dataframe()
-df
-
-
-
-
-
[9]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
-

3000 rows × 4 columns

-
-
-
-
-

Featurize

-

Now, let’s convert the data set into somehting that is ML-readable!

-
-
[10]:
-
-
-
# build pipeline
-from kinoml.features.core import Pipeline
-
-pipelines = []
-for key, pipeline_instructions in PIPELINES.items():
-    print(f"Building featurizer `{key}` with instructions:")
-    featurizers = []
-    for featurizer_import_str, kwargs in pipeline_instructions:
-        kwargs = kwargs or {}  # make sure empty values (None, "") turn into {} so we can do **kwargs below
-        print(f"  Instantiating `{featurizer_import_str}` with options `{kwargs}`")
-        featurizers.append(import_object(featurizer_import_str)(**kwargs))
-    pipelines.append(Pipeline(featurizers))
-print("Resulting pipelines:", *pipelines)
-aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)
-print("Aggregated pipelines:", aggregated_pipeline)
-
-
-
-
-
-
-
-
-Building featurizer `ligand` with instructions:
-  Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`
-Resulting pipelines: <Pipeline([MorganFingerprintFeaturizer])>
-Aggregated pipelines: <TupleOfArrays([Pipeline([MorganFingerprintFeaturizer])])>
-
-
-
-
[11]:
-
-
-
%%capture --no-display
-# to hide warnings
-
-aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);
-
-
-
-
-
[11]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CC(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(Cl)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C(=O)/C=C/C(=O)NCCCN(C)C)c1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCSc1nc(-c2ccccc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc3c(-c4c[nH]c(-c5ccccc5)c4-c4ccccc4)nnc(O)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4cccc(F)c4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(C)n1cnc2cnc(Nc3ccnc(N4CCC(OC)CC4)n3)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccc(-c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(CC/C=C/c2ccc3c(Nc4ccc(Sc5nccn5C)c(Cl)c4)c(C#N)cnc3c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(F)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cc(Cl)ccc2O)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)O)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)c1ccc(Nc2nc(NC(=O)C(C)(C)C)nc3[nH]c4cccc(Cl)c4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(C(=O)Nc2nccc(-c3cccnc3)n2)cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2[nH]c(-c3ccc(F)cc3)cc12)c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(COC(c2cccs2)c2cc3ccccc3nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c([Se][Se]c2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC4CCOCC4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(N)/C(C#N)=C/c1ccc(O)c([N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)c(O)c(CSCc2ccccc2)c1)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)cc(-c2nn(C(C)C)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(O)cc2)C(=S)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(N5CCOCC5)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN(C)C)C(=O)c1ccc(OS(=O)(=O)c2ccc(C(=O)O)c(O)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(=O)n(C(C)C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Br)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2nccc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCCn4cnnn4)cc3)ncc2[N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CN2CCCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCNC(=O)c1cc(NCc2cc(O)ccc2O)ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3cnccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(C#N)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc2c(C#N)cnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCCCC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccc(Cl)c2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(O)c2c(=O)n(-c3cccc(C(=O)N4CCCCC4)c3)ccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCN(CC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1)CCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)c(Br)c2)CC1c1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(Br)cc3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1c(Br)cc(/C=C2\C(=O)Nc3ccccc32)cc1C(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)Oc1cccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)O)cc1.Fc1cccc(COc2ccc(Nc3ncnc4ccc(-c5ccc(CN6CCOCC6)o5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cc(Cl)ccc3O)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CCCO)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Nc3cccc(Br)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2nn(C3CCCC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4[nH]ncc4c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Oc2ccnc3[nH]ccc23)c(F)c1)c1nnn(-c2ccc(F)cc2)c1C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2cc3ncc(C#N)c(Nc4ccc(F)c(Cl)c4)c3cc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N[C@H]1CC[C@@H](n2c(=O)c(-c3ccccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3ccc(C(F)(F)F)cc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3S(=O)(=O)C(C)C)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NN=C(C#N)C#N)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1CCC(n2c(NC(=O)c3cccc(C(F)(F)F)c3)nc3cc(C)ccc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC)c(NC(=O)/C=C/CN(C)C4CC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(CCCCCn2c3c(c4cc(OCCc5ccc(O)cc5)ccc42)CC(N)CC3)cc1.Cl.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(N[C@@H](C)c3ccccc3)c2cc1NC(=O)[C@@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.Clc1cccc(Nc2ncnc3ccccc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCC(N3CCN(S(C)(=O)=O)CC3)CC2)ccc1Nc1nccc(-c2c(-c3cccc(C(=O)Nc4c(F)cccc4F)c3)nc3ccccn23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Oc2ccc(Nc3ncnc4ccn(CCOCCO)c34)cc2Cl)c1)NC1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCCCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(Br)cc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=C/C(=O)c2ccc(NC(=O)c3cc4cc5ccccc5nc4s3)cc2)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(C(N)=O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NNc1nncc2ccccc12)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc3[nH]ccc23)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)CN(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCCCCCn1cc(-c2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)nn1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN([C@H]2CC[C@H](n3nc(-c4ccc(Nc5nc6cccc(Cl)c6o5)c(F)c4)c4c(N)ncnc43)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)CCN(C)C)c(NC(=O)C=C(C)C)cc1Nc1nc2c(c(-c3cn(C)c4ccc(F)cc34)n1)CS(=O)(=O)CC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NC(CO)Cc2ccccc2)[nH]c2ccc(C(F)(F)F)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2[nH]c(Cc3cccc(F)c3)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(F)cc2)CC1c1ccc2ccccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Cl)c1NC(=O)c1cnc(NC(=O)C2CC2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3nc(NN)ccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(-c3cc4c(N[C@H](C)c5ccccc5)ncnc4[nH]3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4ccco4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CC[C@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2cc(Nc3cccc(Cl)n3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCC(n2nc(-c3ccc(F)c(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1OCCCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@H]6CNCCO6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCC(=O)Nc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)CC(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(C)C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/NCC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C(F)(F)F)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2ccc(-c3ccc(CN)cc3)cc2c1N[C@@H]1C[C@H]1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C#N)cc3)ncnc2cc1OCCCN1CCC(c2ccccc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CN1CCC[C@@H]1C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccccc1NC(=O)/C=C/c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(/C=C/c2ccccc2Cl)=N\NC(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c(SSc2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2c1ccc(O)c2O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C(=O)Oc1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3ccc(N4CCN(C)CC4)cc3OC)ncc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3nccn3)n2)c(OC)cc1N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(CNc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(OCc2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@@H]6CNCCO6)c45)ccc32)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCN(C)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nn2c(=O)cc(-c3ccccc3)[nH]c2c1/N=N/c1ccc2c(c1)OCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(N)=O)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2c(Nc3cccc(Br)c3)ncnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(N(C)C(=O)c2ccccc2)cc1Nc1nccc(-c2cccnc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4cccnc34)n2)c(OC)cc1N(C)CCNC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc[nH]n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1ccc(NC(=O)CSc2nnc(CNc3ccc(OC)cc3)n2-c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3ccc(F)c(C=O)c3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OB(O)c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cc(Cl)c(Cl)cc3F)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3sc4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncnc(-c3cn(C)c4ccccc34)c2OC)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2oc(-c3ccccc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Br)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ncc(-c2nn(C(C)C)c3ncnc(N)c23)c(OC)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4ccccc4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)[C@@H](c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2F)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)NCCN(C)C)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Oc2ccc(Nc3ncnc4cc(C#C[C@@H]5C[C@@H](OC(=O)N6CCOCC6)CN5)sc34)cc2Cl)no1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(COC(c2cccs2)c2cc3ccccc3nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C(=O)N(CCCl)N=O)c1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OOC2(CCC(C(=O)Nc3ccc4ncnc(Nc5cccc(Cl)c5)c4c3)CC2)OO1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(-c4ccc(CO)o4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@H]1Oc2cc3ncnc(Nc4cccc(Cl)c4)c3cc2O[C@@H]1COC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)N1CCN(CCC(=O)Nc2cccc(Oc3nc(Nc4ccc(N5CCN(C)CC5)cc4OC)ncc3Cl)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCOC(=O)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=[O-][S+]1CCN(Cc2ccc(-c3cc4c(Nc5ccc(OCc6cccc(F)c6)cc5)ncnc4cn3)o2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)N1CCc2c(sc3ncnc(N[C@H](CO)c4ccccc4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCOc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(c1ccccc1)c1cccc(NC(=O)c2cc3ccccc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1[nH]cnc2nc(-c3ccccc3)cc1-2)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(NS(=O)(=O)c2ccc(Nc3nncc4ccccc34)cc2)no1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN3CCCC3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(NCc3ccccc3)ncnc2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CC(C)(C)C2)C1c1c(C)nn(-c2ccc(Cl)cc2)c1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2cc(O)c(O)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2NC(=O)COCc2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1-c1cn(-c2ccccc2)c2ncnc(N)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(F)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nccc(-c2c(-c3ccc(F)cc3)ncn2C2CCCCC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(Nc2[nH]cnc3c4ccccc4nc2-3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(Cl)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCc1ccccc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCn4ccnc4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCN1CCNCCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCOc1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)NCCNCc1ccc(-c2cc3nccc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1nc(-c2ccc(OC)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cnc(NC2CC2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(-c2cccc(Nc3ncnc4cc5c(cc34)OCCCO5)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Cc3ccc(F)c(Cl)c3)ncnc2cc1OCCOCCCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C(=CNc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1)C(=O)OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(C(=O)Nc3ccc(-c4cncc(C#N)c4Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)cc3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(CN2CCCCC2)cc1)Nc1ccc2ncnc(Nc3cccc(C(F)(F)F)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3)Cc3cnc(Nc4ccc(CCN5CCN(C)CC5)cc4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12)N(C)C(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Cc3ccc(F)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(C#Cc2cncnc2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCc1c(C(=O)OCC)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(c2c(O)cc(O)c3c2O/C(=C\c2ccccc2Cl)C3=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)c(C#N)cnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4c(F)cccc4F)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1cc(F)c(F)cc1F)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Br)cc2)CC1c1ccc(C(=O)OC(C)Cn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSCc2ccc(Cl)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)c1cnc2ccc(C(=O)/C=C/c3ccc(Cl)cc3)cc2c1Nc1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)Nc1ccc(C(=O)Nc2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)C(/N=C1/C=C(O)/C(=N\C(C(=O)O)C(C)O)C=C1O)C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccccc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)N2CCNCC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc(Cc4ccccn4)cc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)C(CO)Nc1nc(Nc2ccc(N3CCNCC3)cc2)c2ncn(C(C)C)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(C3CCCC3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2cc3c(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncnc3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1nc(-c2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2c(c1)CCN2Cc1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCC(F)(F)C1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.NC1CCc2c(c3cc(OCCc4ccc(O)cc4)ccc3n2CCCCCc2ccccc2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3ccc(C(=O)O)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CC[N+](C)(C)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2ccn(Cc3ccc(Cl)cc3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(F)cc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1csc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCNC(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5ccccn5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)CC1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3cc(OC)c(OC)cc23)cc(OC)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(C(=O)/C=C\C(=O)O[C@H](CC=C(C)C)C2=CC(=O)c3c(O)ccc(O)c3C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1(CO)CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1cc[nH]c(=O)c1-c1nc2c(C(C)C)ccc(C)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C\c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(NC(C)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN1CCNCC1)C(=O)c1ccc(OCc2ccccc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1SCCCN(CC)CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccccc4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Nc1nc2cc(F)c(N(C)C(=O)/C=C/CN(C)C)cc2n2cncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(NC(=O)c2ccc(N(CCCl)CCCl)cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCOCC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(CSC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)OC(C)(C)C)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCN(C/C=C/C(=O)N2CCOc3cc4ncnc(Nc5ccc(F)c(Cl)c5)c4cc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2occ(-c3ccc(NC(=O)Nc4cc(C(F)(F)F)ccc4F)cc3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccccc3)nc3cnc(Nc4ccc(N5CCN(C)CC5)cn4)cc23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(F)cc(Nc2cc(NC(=O)Nc3c(Cl)cccc3Cl)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Cl)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)cc4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(C)=O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nccc(C#Cc2cncnc2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4ccc(-c5cnn(C)c5)cc4)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4cc(-c5ccc[nH]5)sc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccc(OC)c(OC)c3)n2)c(OC)cc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NCc3cccc(C)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)C/C(=C\c3nc(C)c(C)nc3C)C2=O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2ccc(Br)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc(OCc3ccccc3)c(Cl)c2)c1C(=O)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C=O)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOCc1ccc2c(c1)nc(NC(=O)c1cccc(C(F)(F)F)c1)n2[C@H]1CC[C@H](O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3cc(F)ccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1ccc(F)c(C)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OC)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(/C=N/NC2=NC(=O)CS2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc4c(cc23)N(C(=O)/C=C/CN2CCCC2)CCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Br)c(O)c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2cccc(F)c2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](Oc2nc(Nc3ccc(N4CCN(C(C)=O)CC4)cc3)nc3[nH]cc(-c4cncc(NC)n4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCCOc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)c(C)c2)CC1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c([Se][Se]c2c(C(=O)NC)c3ccccc3n2C)n(C)c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(Nc3cccc(Cl)c3)[nH]nc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC)c3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Nc2cc(Nc3cccc(C(F)(F)F)c3)ncn2)c1)C1CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cnn(-c2ccccc2)c1)c1cccc(NS(=O)(=O)c2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCC(CCO)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2sc(-c3ccccc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN3CCOCC3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])/C=C/c1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C/c1cc(Cc2ccccc2)c(O)c(Cc2ccccc2)c1)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C(\F)C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C(=N\Nc1ncc(Cl)c(Nc2cccc(NC(=O)/C=C/CN(C)C)c2)n1)c1ccc(F)cc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1NC(C)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(Br)cc1)c1ccc(Cl)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C6COC6)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1nc(Nc2ccc3[nH]ccc3c2)c2sccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)[C@H](C)O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(CO)NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(Nc3cccc(C(F)(F)F)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3c(F)cc(Cl)cc3F)ncnc2cc1OCC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cccc(F)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2nc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4ccc(Cl)cc4F)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCC(=O)c1ccc(OCc2ccccc2)c(O)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-n2cc(CN3CCNCC3)nn2)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(Cl)c3)c2cc1OCC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1cc2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCN4CCOCC4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ncc2ncnc(Nc3cccc(C)c3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CC(=O)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(-c5ccco5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)CC(=C\c3nc(C)c(C)nc3C)/C2=N/O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2ncc3c(n2)-c2ccc(Cl)cc2SC3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-n2cc(CN3C[C@H](C)N[C@H](C)C3)nn2)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(Nc4cccc(Br)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)c(Br)c3)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN1CCC1C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2nccc(Nc3cccc(Br)c3)c2cc1NC(=O)/C=C/CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(Oc5cccc(C(F)(F)F)c5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(C(=O)CC)CC4)cc3OC)ncc2SC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc(OCc3ccccc3)c(Cl)c2)c1C(=O)NNC(=O)CCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(OC)c(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccc([N+](=O)[O-])c2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCNCC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCCCCOc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3nc(Nc4ccccc4)sc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2oc(-c3ccc(NCCN4CCCCC4)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccc(Cl)cc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(C4CCN(C)CC4)cc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc(NC(=O)c3cccc(NS(=O)(=O)c4ccccc4)c3)cn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)c3ccco3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCCC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccccc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CNc2ncnc3oc(-c4ccccc4)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3cccc([N+](=O)[O-])c3)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3cc4c(cc23)OCCOCCOCCO4)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C2=C(c3c[nH]c4ccccc34)CNC2=O)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[C@@H](Nc1ncnc2sc3c(c12)CCN(C(=O)/C=C/CN(C)C)C3)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3ccccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NC(=O)c2cc(Nc3ccc(O)cc3)c(Nc3ccc(O)cc3)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)CN1CCC(n2cc(-c3cccc(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CC(=O)NS(=O)(=O)c2ccc(F)cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3c2NCc2ccccc2O3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(Cl)cc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(O)(c2nc(-c3ccc(F)cc3)c(-c3ccncc3)o2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cc(-c3cn4c5c(cccc35)CCC4)nc(OC)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](O)c1nc2cnc(Nc3ccnc(N4CC[C@H](O)[C@H](F)C4)n3)cc2n1[C@H](C)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2oc(-c3ccccc3)c(-c3ccccc3)c12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(CNC6CCNCC6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Oc2ncnc3ccccc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc(F)cc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2cc(N3CCN(C)CC3)nc(Oc3ccc(N)cc3)n2)n[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1)C(=O)N[C@@H](C)C(=O)NCCN.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(N2CCOCC2)cc2[nH]c(-c3c(NC[C@@H](O)c4cccc(Cl)c4)cc[nH]c3=O)nc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3occc(=O)c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(F)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OCOC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C(N)=S)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(Nc3ccccc3P(C)(C)=O)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(N2NC(=O)/C(=C/c3ccc(-c4ccccc4F)o3)C2=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1Br)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNc1nc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Cl)c4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(Br)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(CCN(C)C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1cccc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2nn(C(C)C)c3ncnc(N)c23)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)c2c(=O)n(-c3cccc(C(=O)N4CCCCC4)c3)ccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(O)CCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3cccc(Br)c3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc4ccccc4c3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCCCCCCCCCNC(=O)/C(C#N)=C/c1ccc(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CN1CCC(n2cc(-c3cccc(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2ncnc3ccncc23)c(N)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cc2ncnc(Nc3cccc(Br)c3)c2cc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(S(C)(=O)=O)CC4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C(C)=O)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCCl)C(=O)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cccc(C(F)(F)F)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3occc(=O)c3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(NN=C2CCCCCC2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CSCCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCC4CCCO4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCNCc1ccc(-c2cc3nccc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCN1CCOCC1)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(N(C)c2ccc(OC(C)C)cc2)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1cc(Nc2nccc(-c3c(-c4cccc(C(=O)Nc5c(F)cccc5F)c4)nc4ccccn34)n2)c(OC)cc1N1CCC(N2CCN(S(C)(=O)=O)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(/C=C/c2cc(-c3cc4c(=O)[nH]cnc4[nH]3)ccn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCOCC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc4c(ccn4Cc4ccccc4)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)CCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CNc2nc(N)nc3[nH]c4ccc(O)cc4c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N1CCC(N(C)C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2ccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)cc2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(NN2C(=O)/C(=C\c3cccs3)SC2=S)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CNCC1COC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1C/C(=N/NC(=O)c1ccc(N)cc1)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OC(Cc1c(SSc2[nH]c3ccccc3c2CC(OC(C)=O)C(=O)NCc2ccccc2)[nH]c2ccccc12)C(=O)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)Cc1ccncc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Cc3cccc(Br)c3)ncnc2cc1OCCCn1ccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C#N)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)c(O)c(Br)c1)S(=O)(=O)/C(C#N)=C/c1cc(O)c(O)c(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCOCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)NCCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2cc(-c3nn(C(C)C)c4ncnc(N)c34)ccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CC6(CCN(C)CC6)C5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=FC(F)(F)c1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccs1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(c2c(O)cc(O)c3c(=O)cc(-c4ccccc4Cl)oc23)[C@@H](O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CNc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc(C#N)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)c(F)c3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[N+](C)(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2n[nH]c3cc(-c4cncc5ccccc45)ccc23)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c3nc(Nc4ccc(N5CCN(NC)CC5)cc4OC)ncc3c(=O)n3ccnc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c(Cl)c3Cl)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccc4Cl)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4ccc(F)cc4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(F)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@@H]1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1c(-c2cccc(Cl)c2)coc2cc(O)cc(O)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(C3CC3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)NS(=O)(=O)c2ccc(Br)cc2)c(Cl)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)COc1cccc(Nc2ncc(F)c(Nc3ccc4c(c3)NC(=O)C(F)(F)O4)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(c2ccc(Nc3nccc(-c4c(-c5cccc(NC(=O)Cc6ccccc6)c5)nc5sccn45)n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc(Br)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c(/C=C2\C(=O)Nc3ccc(C(=O)NNc4ccccc4)cc32)c(C)c1CCC(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CNC1CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3n[nH]c4ccccc34)cc(N3CCN(C(C)=O)CC3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2F)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCn1nc(-c2ccc(OCC)c(OC)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cc(OC)c(OC)c(OC)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3ccc(-c4cnn(C5CCNCC5)c4)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)C(F)(F)F)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5[nH]ccc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2nnc(Cc3ccncc3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CC(C(=O)NCCO)C3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)[C@@H](c1cc(F)ccc1O)N1Cc2ccccc2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cccc(O)c2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCC(CO)CC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(NC(=O)CO)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1/C=C/C(=N/NC(N)=S)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCC(CCO)CC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1ncc([N+](=O)[O-])c1C[N+](C)(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1.[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)nc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCC1C(S)=Nc2ccccc21)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2ccccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(NCc3ccccc3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Cl)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(c4ccccc4)CS3)C(c3cccc4ccccc34)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(CN(Cc2cc(Br)cc(Br)c2O)C(=S)Nc2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cccc(NC(=O)C45CC6CC(CC(C6)C4)C5)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3cccc(CO)c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3nsc4ccccc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1nc(N)nc2[nH]c3cc(C)c(O)cc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)Oc1ncnc(Nc3ccc(F)c(Cl)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(Br)c(/C=N/c2ccc3[nH]c(=O)[nH]c3c2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncc3c(n2)-c2ccc(Cl)cc2SC3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4nc[nH]n4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(SCCCC(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(ccc(=O)n4C(C)C)cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(CN(Cc2ccc(F)cc2)C(=O)Nc2ccccc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)c1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CC(=O)N(C)C)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2cc(OC[C@H](O)CO)c(NC(=O)C3CSSC3)cc2c1Nc1ccc(OCc2cccc(F)c2)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)[C@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C(=O)NCCN(C)C)ccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N(CCCl)CCN/N=N/c2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Cc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCS(=O)(=O)CC(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(F)ccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)[C@@H](C)N(C)Cc1cc2c(Nc3cccc(Cl)c3F)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(Cl)cc(F)cc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCN(CCOC)S(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3cn[nH]c3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cccs1)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2nc(-c3ccccc3)[nH]c2-c2ccnc3[nH]ccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2oc(-c3ccc(OC)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CSc1cn2c(-c3cn[nH]c3)cnc2c(Nc2cc(C)ns2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(C)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](Nc2nc(Nc3ccccc3)nc3cnc(Nc4ccc(N5CCN(C)CC5)cn4)cc23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCNCCS(C)(=O)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(Nc3ncc4nc(Sc5ccccc5)n([C@H]5CC[C@H](O)CC5)c4n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(C#N)c1cc(O)c(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(F)cc1)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN3CCCCC3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1Nc1ncc(-c2ccc(OCC3CCCN(C)C3)cc2)n2cncc12.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Br)cc3)CC2c2ccc(Br)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NC)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=O)C(=C(C#N)C#N)c2cc(O)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)C(O)C(O)C(O)CO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2ncnn3ccc(CN4CC[C@@H](N)[C@H](O)C4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1csc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(CCN3CCOCC3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(ccn5CCc5ccccc5)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(Sc2cccc(NC(=S)Nc3ccc(Cl)c(C(F)(F)F)c3)c2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CNc1c(NCc3ccccc3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=C(C#N)C#N)cc(C)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)NCCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc(C)c2nc(Nc3ccc(OCCN4CCCC4)cc3)nnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(C(F)(F)F)cccc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c2[nH]c(SC/C(=N/O)c3ccc(Br)cc3)nc2n(C)c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2csc(=N)n2CC(=O)N2CCOCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=[N+]([O-])c1ccc2sc3c(Nc4cccc(Br)c4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2ncn(CC(=O)c3c[nH]c4ccccc34)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCc1ccc(O)c(Br)c1)/C(Cc1cc(Br)c(O)c(-c2cc(C/C(=N/O)C(=O)NCCc3ccc(O)c(Br)c3)cc(Br)c2O)c1)=N\O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(C)(C(N)=O)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCOCC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cc(Nc2ncnc3[nH]nc(OCCN4CCCC4)c23)ccc1OCc1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC(F)(F)F)c3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C1=CC2=C(Cc3nnc(Cc4nc5ccccc5[nH]4)o3)CNC2C=C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(S(N)(=O)=O)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3nc(SC)n(C)c3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCc1cccc(-c2nc(-c3ccc(F)cc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(NCc3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cccc(Nc2ccnc3[nH]c4ccccc4c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12)N(C)C(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3[nH]c(C)c(C)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1nc(-c2ccc(Cl)c(S(=O)(=O)Nc3cccc(F)c3C)c2)cnc1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)NC(=O)c2ccc(C)nc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1ncc(C(=O)Nc2cc(C(=O)Nc3ccc(CN4CCN(C)CC4)c(C(F)(F)F)c3)ccc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](Nc1ncnc2c1sc1ccccc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(cc1OC)Nc1ncn(C)c(=O)c1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCc1ccc(O)cc1)c1c(O)cc(O)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(Nc2ncnc3[nH]c(C)c(C)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2n[nH]c3cc(-c4ccc(F)cc4)ccc23)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc2cc(-c3nn(C(C)C)c4ncnc(N)c34)ccc2c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccncc23)c1NCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCCCN1C/C=C/C(=O)N1CCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCNc1ncc2cc(-c3c(Cl)cccc3Cl)c(=O)n(C)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(O)cc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C[C@H](C)CO)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cc2c(N)ncnc2nc1NCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)c1ccccc1-c1nnc(Cc2nc3ccccc3[nH]2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(-c3c[nH]c4ccc(Br)cc34)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(cc1O)NC(=O)C2=C(C#N)C#N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(Cc3ccc(-c4ccccc4)cc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1cccc(-c2nn(C(C)C)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3ccc(C#Cc4cccs4)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)CCCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(=O)O)ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2[nH]cnc3nc4ccccc4c2-3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(C)c(C)c4)c(Cl)c3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cc(Cl)c(O)c(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3[nH]nc(OCCN4CCC(O)CC4)c23)ccc1OCc1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=FC(F)(F)c1cccc(Nc2ncnc3cc(OCCCN4CCOCC4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NCc3cccs3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5ccccn5)c(Cl)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C(N)=S)C(c3ccc(O)cc3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCN(c2ccc(Nc3ncc(Cl)c(Oc4cccc(COc5no[n+]([O-])c5S(=O)(=O)c5ccccc5)c4)n3)c(OC)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1oc2cc3ncnc(Nc4ccc(OCc5ccccn5)cc4)c3cc2n1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@H]1C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3F)ncnc2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(C=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O[C@H]1CC[C@H](Nc2ncc3nc(Nc4c(F)cc(F)cc4F)n([C@H]4CCOC4)c3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)N1CCc2c(sc3ncnc(NCCO)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC/C=C\C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(C)Oc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Nc2ncnc3sc4c(c23)CCCC4)cc1)Nc1cccc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cccc(I)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)c(F)c4F)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1B1OC(C)(C)C(C)(C)O1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cccnc3n2C)c(C(=O)Nc2ccccc2)c2cccnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(NC(=O)CCC(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc3ccccc3nc2Cl)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(F)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CNCc1ncccn1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3ccc(F)cc3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3nc(Nc4ccc(CN5CCCCC5)cc4)sc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc3ccccc3s2)ccc1Nc1ncnc2cc(OC)c(OC)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](c1ccccc1)n1ncc2cc(Nc3ncnn4ccc(COC[C@@H]5CNCCO5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CCNc2ccnc3oc4ccccc4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CC[C@H](O)C(F)(F)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCC[C@@H]1Cn1cc(-c2ccc3c(c2)OCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3[nH]c(=O)ccc3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C=CCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC2CCOC2)c2c(Nc3ccc(F)c(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=[N+]=[N-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(-c5ccsc5)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(CNC(=O)c2c(SSc3c(C(=O)NCc4ccc(C(=O)OC)cc4)c4ccccc4n3C)n(C)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)NCC(=O)O)c3ccccc3n2C)c(C(=O)NCC(=O)O)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=S)C(C(=O)Nc2ccccc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cnc2[nH]ncc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CN2CCOCC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CNC(=O)c1ccc(Nc2ncnc3cc(OCCN4CCCCC4)c(OC)cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)N(C)CCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCC(O)CNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCN(C)CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNCC(O)COc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)O)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C/c1cc(O)ccc1O)C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2ncc(C#N)c(N[C@@H]3C[C@H]3c3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2cc(C)ccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2nccs2)cc(-c2cn(C)cn2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(C)Oc1cc2ncnc(Nc3ccc(C)c([N+](=O)[O-])c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCN1CCOC1=O)c1cnc(NCc2cc(Cl)ccc2Cl)nc1NC1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3cccc(F)c3)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NCc3ccncc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCCN2CCN(C)CC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5[nH]ncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(NC(=O)OCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4c(cc23)OCCCSCCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2n[nH]c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCCC(F)(F)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)cc(-c2cc3cnc(N)nc3nc2NC(=O)NC(C)(C)C)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C(C#N)c1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(c3)CCN4Cc3ccccn3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H]1COc1nc(Nc2ccc(N3CCN(C(C)=O)CC3)cc2)nc2[nH]cc(-c3cncc(NC)n3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCC(=O)ON[C@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=C=S)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)COCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc(-c2cc(=O)c3c(N)c(O)c(N)cc3o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)Cc1ccc(-c2cc3c(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncnc3s2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCN1CCCC1=O)c1cnc(NCc2cc(Cl)ccc2Cl)nc1NC1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(C#N)cnc(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1nnc(-c2c[nH]c(-c3ccccc3)c2-c2ccccc2)c2cn(-c3ccc(Cl)cc3)nc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)N1CCN(Cc2ccc(-c3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)o2)CC1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(SC)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4Cl)cc3)ncnc2cc1OCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)O[C@@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(C3CCN(Cc4ccccc4)C3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2cc3c(cc2Nc2ccccc2)C(=O)NC3=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C[C@@H](C)CO)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(c1cccc(Br)c1)c1nc(N)nc2[nH]c(Cc3ccccc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CCCC3)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2c3c4cc(OCCN(C)C)c(OCCN(C)C)cc4oc(=O)c3n3ccc4cc(O)c(OC)cc4c23)cc1O.O=C(O)C(F)(F)F.O=C(O)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCn1cc(Nc2nc(OC[C@H]3CN(C(=O)C=C)C[C@@H]3OC)c3c(Cl)c[nH]c3n2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1c(C=O)cccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCN(C(=O)Cn2c(-c3ccc(Cl)cc3)csc2=N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(/C=C/CCc3ccccc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N3CCc4ccccc43)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1ccc(-c2csc(N3N=C(c4ccc(N5CCCCC5)cc4)CC3c3ccc(Cl)cc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Oc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)Nc2nc3cccc(C)c3n2[C@@H]2CCCCN(C(=O)/C=C/CN(C)C)C2)ccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCc1cccc(CNC(=O)/C(C#N)=C/c2ccc(O)c(O)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CO)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(Cl)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1Cl)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3cccn3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C(CSc2nc3c([nH]2)c(=O)n(C)c(=O)n3C)=N\O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)Nc1ccc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(N)c(C(=O)Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1NC(=O)c1ccc(CN2CCN(C)CC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc2cnc(N)nc2nc1NC(=O)NC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(N[C@@H]3C[C@H]3c3ccccc3)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)N(C)[C@H]2C[C@@H]3O[C@](C)([C@H]2OC)n2c4ccccc4c4c5c(c6c7ccccc7n3c6c42)C(=O)NC5)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2ccc3c(c2)NC(=O)/C3=C\c2[nH]c3c(c2CCC(=O)O)CCCC3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(F)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/C(=O)NCCCn1ccnc1)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3ccc(Cl)cc3Cl)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN1CC(C(N)=O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3O)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(O[C@H]4CCOC4)c(NC(=O)/C=C/CN4CCCCC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(C(=O)Cn2c(-c3ccc(Cl)cc3)csc2=N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1ncc2cc(Nc3ncnn4ccc(CN5CCC(N)CC5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2ncnc(Nc3cccc(Br)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(F)c2)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3nn4ccccc4c23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(Nc1ncccn1)c1ccc(Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(OCC(C)(C)C(N)=O)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CNc1c(Nc3ccc(Cl)cc3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)Nc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(=Cc1coc2nc(=N)[nH]c(N)c12)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCCN2c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=[N+]=[N-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)Nc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCOP(N)(=O)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cc2ncnc(Nc3cccc(Br)c3)c2cc1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C(N)=S)C(c3ccccc3F)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(Cc4ccccn4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCc1cccc(-c2cc3c(N[C@H](CO)c4ccccc4)ncnc3s2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCC1CCNCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)NCCc2ccccc2)[nH]c2ccccc12)NCCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cc1OCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(C/C=C/C(=O)Nc2cc3c(Nc4ccc(Cc5ccccn5)cc4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2c(C#N)cnc3cc(OC)c(OC)cc23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(cn3)ncn4C3CCCC3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1NCc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(NC(C)=O)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCOCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C2\CCC/C(=C\C3CCCCC3)C2=O)cc(OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1C[C@H](F)[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc3c(NCc4ccccc4)ncnc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCOCC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3Br)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)c1cccc2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(-c2nn(C(C)C)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)cc3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N(C)C)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(Sc2nc3ccccc3s2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCOc2n[nH]c3ncnc(Nc4ccc(OCc5ccccn5)c(Cl)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1ncc2cc(-c3c(Cl)cccc3Cl)c(=O)n(C)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)CCC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2ncnc(Nc3cccc(C(F)(F)F)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2nc(C(C)(C)C)cc2NC(=O)Nc2ccc(OCCN3CCOCC3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(N(C)c3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc2ncnc(Nc3ccc(OCc4ccccc4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(CCCN1CCOCC1)c1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N(C)C)nc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(NCCCN4CCN(C)CC4)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCOCC#CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)CCC1C(S)=Nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(C(F)(F)F)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2c(SCC(=O)Nc3ccccc3Cl)nc3sc(C)c(C)c3c2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(F)cc3)CC2c2ccc(F)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=S)N(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccncc3)CC2c2ccc(Br)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(/N=N/c3ccc(F)c(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@@H]1CN(c2nc(Nc3cn(C)nc3OC)c3ncn(C(C)(C)C)c3n2)C[C@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN1CCOCC1)C(=O)c1ccc(OCc2ccccc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3cc(O)c(Cl)cc3F)ncnc2cc1OCC1CCN(C)CC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Cl)cc1)NS(=O)(=O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1cc[nH]c(=O)c1C(=O)Nc1ccc(N2CCC(C)CC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1nc(-c2ccc3ncnc(Nc4ccc5c(cnn5Cc5ccccc5)c4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3ccccc3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CC[C@@H](N(C)C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@@H](n2c(=O)c(-c3ccccc3Cl)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@@H]1[C@H](N(C)C(=O)c2ccccc2)C[C@H]2O[C@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)N[C@H]4O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3cc(-c4ccccc4)ncn3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)C1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(Br)cc1)c1cccnc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1C/C(=N/NC(=O)c1ccc(Cl)cc1)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)N1CCCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(Nc3nc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4s3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc(NS(C)(=O)=O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2cc(Br)ccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)CCN(C)C)c(NC(=O)/C=C\C(C)C)cc1Nc1nc(C)cc(-c2cn(C)c3ccc(F)cc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(COc3no[n+]([O-])c3S(=O)(=O)c3ccccc3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccnc2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[N+](C)(C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)Cc1ccccc1[N+](=O)[O-].[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CN(C)C/C(=C\c3nc(C)c(C)nc3C)C2=O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnc3cc(OC(C)C)c4c(c23)OCCO4)cc1C#N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)COCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCO)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cncnc2)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN1CCN(C)CC1C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(OCc4ccccn4)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(C)c1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)CC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC)c3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(C)Cc3cnc(Nc4ccccc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)cc3)=NN2C2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CC(C)(C)O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1cc2ncnc(NCc3ccccc3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cccc(F)c2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(-c2ccccc2)c(O)c(-c2ccccc2)c1)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)CCc1c(SSc2[nH]c3ccccc3c2CCC(N)=O)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(CCOCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C(C)(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1cn2ncnc(Nc3ccc4[nH]ncc4c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc(NCCCN4CCN(C)CC4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)c1cccc2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2sc3c(c12)CCCC3)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=C(CCN1CCOCC1)c1ccc(OCc2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCC#CC(=O)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12)C(=O)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Br.Oc1ccc(-c2cc3c(NCc4ccccc4F)ncnc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC/C=C\C(=O)Nc1cc(Nc2ncc(C#N)c(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)/C(F)=C\CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nc3cc(NC(=O)CCl)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCc1nc(-c2ccc(F)cc2)c(-c2ccnc3[nH]c(-c4ccccc4)cc23)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2oc(-c3ccccc3O)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCCn4ccnc4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(/C=C/c4cc(C)cc(C)c4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)/C=C/C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cnc(Nc2ccc(OCCN3CCCC3)cc2)nc1Nc1cccc(S(=O)(=O)NC(C)(C)C)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC(O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.NCCc1cn(CCCCCc2ccccc2)c2ccc(OCCc3ccc(O)cc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)c1ccc(Nc2cc3c(cc2Nc2ccc(N(CC)CC)cc2)C(=O)NC3=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)c(Br)c2)CC1c1ccccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2c(cccc2Oc2ccc(Nc3ncnc4ccn(CCO)c34)cc2Cl)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(CCCC)C(=O)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(NC(=O)c3cccc(NC(=O)c4cnc5[nH]ccc5c4)c3)cc2C(F)(F)F)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCCN1CCOCC1)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(OC)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(c1ccc(OC)cc1)c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OB(c2ccc3ncnc(Nc4ccc(F)c(Cl)c4)c3c2)OC1(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCN(C(=O)CCCCCCCCCC(=O)N[C@H](C(=O)N2C[C@@H](O)C[C@@H]2C(=O)NCc2ccc(-c3scnc3C)cc2)C(C)(C)C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1C#CC(C)(C)N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(CC(=O)OCCCCCCOc5no[n+]([O-])c5S(=O)(=O)c5ccccc5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCc1ccccc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCCNCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccccc1-c1nnc(Cc2nc3ccccc3[nH]2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(Br)cc3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(c3ccc(-c4ccccc4)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1)NN1C(=O)c2c(c3c4cccc(O)c4n(C4OC(CO)C(O)C(O)C4O)c3c3[nH]c4c(O)cccc4c23)C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4[nH]nnc4cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)CN1CCC(n2cc(-c3cccc(O)c3)c3c(N)ncnc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc2sc(-c3ccc(Nc4ncnc5[nH]cnc45)cc3)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2[nH]c3nc(N)nc(NCc4cccc(Cl)c4)c3c2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc(Cl)c(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1ncn2-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3ccc4cc[nH]c4c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(Cl)cc3F)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N[C@H]1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(/C=C/C(=O)c2ccc3ncc(C(N)=O)c(Nc4ccc(Cl)cc4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(C(C)(C)C)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(N5CCCCC5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNc1nc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(C(F)(F)F)c5)cc4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCC(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccccc1)cn2C1CC(O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4ccc(OCc5ccccn5)c(Cl)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)c1cccc(Oc2ccc(Nc3ncnc4ccn(CCO)c34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc4sccc34)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2nccc(Nc3cc(C)[nH]n3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(ccn4Cc4ccccn4)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(OC)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCCC1)Nc1ccc2ncnc(Nc3ccc(Cl)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(-c3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)o2)CC1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4cccc(C(F)(F)F)c4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(Nc2nc(N/N=C/c3ccc(F)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC(C)COC)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=CNc1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc(Cl)cc(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cc2c(NCc3cccs3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C2=C(c3c[nH]c4ccc(Br)cc34)C(=O)NC2=O)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(C)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2cc(Cl)ccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)NNc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3ccncc23)c1NCCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCCN1CCCCC1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3cccc4ccccc34)n2)c(OC)cc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCCC1)N1CCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(Br)cc3C)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(CNc2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=C(C#N)C#N)ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(C)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3ccc(C(F)(F)F)cc3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC)c(NC(=O)/C=C/CNC4CC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3cccc4ccccc34)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1C/C(=N/NC(=O)c1ccc(O)cc1)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2cc3c(cc2c1Nc1cccc(Br)c1)OCO3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)CC(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3c(F)cc(Br)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC(=O)/C=C/C(=O)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3ccc(N(C)C)c4ccccc34)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(Oc2nc(Nc3ccc(N4CCOCC4)cc3)nc3[nH]cc(-c4ccnc(NC)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@@H]1CCC[C@@H](n2c(NC(=O)c3cccc(C(F)(F)F)c3)nc3cc(C)ccc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(N/N=C(\C)c3ccc(C)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Nc2ncnc3cc(OCCCN4CCOCC4)c4c(c23)OCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc(O)c(O)c(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NC(=O)/C=C/CN(C)C)cc1Nc1ncc(Cl)c(-c2cnn3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCSc1nc(-c2ccc(F)c(C(F)(F)F)c2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)Nc1ncc(Cl)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3c(ccn3C(=O)OC(C)(C)C)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc2c(F)c(Nc3ccc(Br)cc3Cl)c(C(=O)NOCCO)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc3cc(C=O)ccc3s2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(-c2ccc(-c3ccccc3)cc2O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(F)c2)c1>)>,
- ...]
-
-
-
-
-
-
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718b1b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718ba20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219e40> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219510> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a72194b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219d80> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a71e6cc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cfe34e0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cf485a0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cee94b0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bc00> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bcc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cbb9d20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823ccc3b10> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823c85be70> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cabdea0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-
-
-
-
-

Filter

-

Remove systems that couldn’t be featurized. Successful featurizations are stored in measurement.system.featurizations['last'] so we test for that key existence.

-
-
[12]:
-
-
-
from kinoml.datasets.groups import CallableGrouper, RandomGrouper
-grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')
-grouper.assign(dataset, overwrite=True, progress=False)
-groups = dataset.split_by_groups()
-if "invalid" in groups:
-    _invalid = groups.pop("invalid")
-    warn(f"{len(_invalid)} entries could not be featurized!. Possible errors:")
-    warn(f"{_invalid[0].system.featurizations}")
-
-
-
-
-
-

Groups

-

Cumulatively apply groups.

-
-
[13]:
-
-
-
groups[("valid",)] = groups.pop("valid")
-if GROUPS:
-    for grouper_str, grouper_kwargs in GROUPS:
-        grouper_cls = import_object(grouper_str)
-        ## We need this because lambda functions are not JSON-serializable
-        if issubclass(grouper_cls, CallableGrouper):
-            for k, v in list(grouper_kwargs.items()):
-                if k == "function" and isinstance(v, str):
-                    grouper_kwargs[k] = eval(v)  # sorry :)
-        ## End of lambda hack
-        grouper = grouper_cls(**grouper_kwargs)
-        for group_key in list(groups.keys()):
-            grouper.assign(groups[group_key], overwrite=True, progress=False)
-            for subkey, subgroup in groups.pop(group_key).split_by_groups().items():
-                groups[group_key + (subkey,)] = subgroup
-print("10 groups to show keys:", *list(groups.keys())[:10], sep="\n")
-
-
-
-
-
-
-
-
-10 groups to show keys:
-('valid', 'pIC50Measurement')
-('valid', 'pKdMeasurement')
-('valid', 'pKiMeasurement')
-
-
-
-
-

Write tensors to disk

-

Output files are written to _output/<PIPELINE>/<DATASET>/<GROUP>.parquet files.

-

Each parquet will contain at least two array-like objects. The dimensionality of the parquet files is built as (systems, X_or_y, ...). For example, the first X vector for the first system is accessed like parquet[0, "0"]. Notice how the 2nd index is a string! (awkward design).

-
    -
  • "0" (X, featurized systems). See DatasetProvider.to_awkward for more info.

  • -
  • "1" (y, associated measurements)

  • -
-

If X is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to "0", "1", "2", and so on. y is ALWAYS the last one in that list (accessible via data.fields)

-
-
[14]:
-
-
-
random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)
-
-parquets = []
-for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):
-    indices = random_grouper.indices(ds)
-    X, y = ds.to_awkward()
-    parquet = ak.zip([*X, y], depth_limit=1)
-    path = OUT / f"{'__'.join([g for g in group if g != 'valid'])}.parquet"
-    parquets.append(path)
-    ak.to_parquet(parquet, path)
-    # TODO: Missing indices?
-
-
-
-

Preview generated Parquet files:

-
-
[15]:
-
-
-
from kinoml.datasets.torch_datasets import AwkwardArrayDataset
-awk = AwkwardArrayDataset.from_parquet(parquets[0])
-awk
-
-
-
-
-
[15]:
-
-
-
-
-<Array [([0, ..., 0], 6.14), ..., ([...], ...)] type='2826 * (var * int64, ...'>
-
-
-
-
[16]:
-
-
-
# X, y = awk[0]  # (multi-X) and y tensors for first system
-
-
-
-
-
[17]:
-
-
-
# X
-
-
-
-
-
[18]:
-
-
-
# y
-
-
-
-
-
[19]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 10:51:51.390702
-
-
-
-
-

Reproducibility logs

-
-
[20]:
-
-
-
# Free some memory first
-del awk, parquets, groups, dataset
-
-
-
-
-
[21]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T10:51:51.400767+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-numpy  : 1.26.0
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-awkward: 2.4.6
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 10:51:51 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   59C    P8    20W /  80W |     49MiB / 16384MiB |     17%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[22]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[23]:
-
-
-
import json
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-
-
-
-

2. 💻Run the experiment

-
-

Train a model with PyTorch

-

Now, we will train a single model using only PyTorch.

-
    -
  1. Tensors are loaded from Parquet files generated in the features/ pipeline. Each Parquet becomes a Torch Dataset sublass.

  2. -
  3. Random splits are applied for train/test/(val).

  4. -
  5. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.

  6. -
  7. The loss is computed through the loss_adapter method in each measurement_type.

  8. -
  9. If validation is enabled, early stopping and LR schedulers are applied.

  10. -
-
-
-

✏ Define hyper parameters

-
-
[24]:
-
-
-
# Parameters
-PARQUET_LOADER_CLS = "kinoml.datasets.torch_datasets.AwkwardArrayDataset"
-PARQUET_FILES = [
-    "ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet"]
-
-# Model -- specified with the full import path to the class object
-## Machine learning model that will be trained. Pass it as importable string.
-MODEL_CLS = "kinoml.ml.torch_models.NeuralNetworkRegression"
-## Keyword arguments for the model initialization
-MODEL_KWARGS = {"hidden_shape": 350}  # input_shape is defined dynamically during training
-
-# OPTIMIZER
-## Optimizer class. Pass it as an importable string.
-OPTIMIZER = "torch.optim.Adam"
-## Keyword arguments for the optimizer
-OPTIMIZER_KWARGS = {"lr": 0.001, "eps": 1e-7, "betas": [0.9, 0.999]}
-
-# LOSS FUNCTION
-## Loss function class. Pass it as an importable string.
-LOSS = "torch.nn.MSELoss"
-## Keyword arguments for the loss function, if applicable
-LOSS_KWARGS = {}
-
-# TRAINING
-## Maximum number of epochs the training will run. In practice it might be less due to early stopping
-MAX_EPOCHS = 50
-## Enable real-time validation: this will split the test set into two halves: test and validation.
-## It will also enable LR scheduling and early stopping, based on the validation loss.
-VALIDATION = True
-## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)
-EARLY_STOPPING_KWARGS = {}
-
-# DATALOADER
-DATALOADER_CLS = "torch.utils.data.DataLoader"  # you can also use torch_geometric.data.DataLoader
-## Minibatch size
-BATCH_SIZE = 64
-## Proportion of the dataset that will be split into a test set. If VALIDATION=True,
-## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.
-TRAIN_TEST_SPLIT = 0.2
-## Whether to shuffle the indices before splitting
-SHUFFLE_SPLITS = True
-## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-## IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-COLLATE_FN = None
-
-# Plot bootstrapping
-## Bootstrapping iterations for the performance plots
-N_BOOTSTRAPS = 1
-## Proportion of the data that is sampled in each iteration
-BOOTSTRAP_SAMPLE_RATIO = 1
-
-# Output
-## Enable some extra output, like plots and logging statements.
-VERBOSE = False
-
-
-HERE = _dh[-1] #current path
-
-
-
-

⚠ From here on, you should not need to modify anything else to apply it to your own dataset 🤞

-
-

Define key paths for data and outputs:

-
-
[25]:
-
-
-
from pathlib import Path
-from datetime import datetime
-
-HERE = Path(HERE)
-
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-FEATURES_STORE = REPO /"examples"/"experiments"
-
-OUT = HERE / "_output" / datetime.now().strftime("%Y%m%d-%H%M%S")
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Features:      FEATURES_STORE = {FEATURES_STORE}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Features:      FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158
-
-
-
-
[26]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
[27]:
-
-
-
from collections import defaultdict
-from warnings import warn
-import sys
-import shutil
-
-from IPython.display import Markdown
-import numpy as np
-import pandas as pd
-import torch
-from torch.utils.data import DataLoader, SubsetRandomSampler
-from tqdm.auto import trange, tqdm
-
-from kinoml.ml.torch_loops import LRScheduler, EarlyStopping
-from kinoml.utils import seed_everything, import_object
-from kinoml.core import measurements as measurement_types
-from kinoml.core.measurements import null_observation_model
-from kinoml.analysis.metrics import performance
-from kinoml.analysis.plots import predicted_vs_observed
-
-# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 10:51:59.212444
-
-
-
-
-

Load featurized data and create observation models

-

We assume this path structure: $REPO/features/_output/<FEATURIZATION>/<DATASET>/<MEASUREMENT_TYPE>.npz

-
-
[28]:
-
-
-
DATASETS = []
-MEASUREMENT_TYPES = set()
-ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)
-for glob in PARQUET_FILES:
-    print(glob)
-    parquets = list(FEATURES_STORE.glob(glob))
-    if not parquets:
-        warn(f"⚠ Parquet glob `{glob}` did not match any files!")
-        continue
-
-    for parquet in parquets:
-        measurement_type = parquet.stem
-        dataset = parquet.parent.name
-
-        ds = ParquetLoaderCls.from_parquet(parquet)
-        ds.metadata = {
-            "dataset": dataset,
-            "measurement_type": measurement_type,
-        }
-        DATASETS.append(ds)
-        MEASUREMENT_TYPES.add(measurement_type)
-
-if not DATASETS:
-    raise ValueError("Provided `PARQUET_FILES` did not result in any valid datasets!")
-
-
-
-
-
-
-
-
-ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet
-
-
-

Now that we have all the data-dependent objects, we can start with the model-specific definitions.

-
-
[29]:
-
-
-
print(f"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.")
-
-
-
-
-
-
-
-
-Loaded 3 datasets with a total of 3000 measurements.
-
-
-
-
-

Prepare splits and dataloaders

-

Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed.

-
-
[30]:
-
-
-
dataloaders = {}
-for dataset in DATASETS:
-    key = dataset.metadata["measurement_type"]
-
-    # Generate random indices in situ
-    # If you need to provide indices from another source,
-    # replace this block to provide train_indices, test_indices
-    dataset_size = len(dataset)
-    indices = list(range(dataset_size))
-    split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))
-
-    if SHUFFLE_SPLITS :
-        np.random.shuffle(indices)
-    train_indices, test_indices = indices[split:], indices[split:]
-    if VALIDATION:
-        split2 = int(np.floor(len(test_indices) / 2))
-        test_indices, val_indices = test_indices[:split2], test_indices[split2:]
-    # End of indices creation
-
-    collate_fn = None
-    if COLLATE_FN:
-        # IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-        # COLLATE_FN can be an import string, or a eval-able lambda
-        # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-        try:
-            collate_fn = import_object(COLLATE_FN)
-        except ImportError:
-            collate_fn = eval(COLLATE_FN)
-
-    # Creating PT data samplers and loaders:
-    train_sampler = SubsetRandomSampler(train_indices)
-    test_sampler = SubsetRandomSampler(test_indices)
-
-    dataloaders[key] = {
-        "train": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),
-        "test": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),
-    }
-
-    if VALIDATION:
-        val_sampler = SubsetRandomSampler(val_indices)
-        dataloaders[key]["val"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)
-
-
-
-
-
-

Training loop

-
-
[31]:
-
-
-
ModelCls = import_object(MODEL_CLS)
-
-# Note that we assume all dataloaders will provide the
-# same kind of input shape, so we onlt test on one
-if ModelCls.needs_input_shape:
-    a_dataloader = dataloaders[next(iter(dataloaders.keys()))]["train"]
-    x_sample, _ = next(iter(a_dataloader))
-    MODEL_KWARGS["input_shape"] = ModelCls.estimate_input_shape(x_sample)
-
-nn_model = ModelCls(**MODEL_KWARGS)
-
-optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)
-loss_function = import_object(LOSS)()
-
-if VALIDATION:
-    lr_scheduler = LRScheduler(optimizer)
-    early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)
-
-train_loss_timeseries = []
-val_loss_timeseries = []
-
-range_epochs = trange(MAX_EPOCHS, desc="Epochs")
-for epoch in range_epochs:
-    train_loss = 0.0
-    val_loss = 0.0
-    for key, loader in tqdm(dataloaders.items(), desc="Datasets", leave=False):
-        try:
-            mtype_class = import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype_class = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        loss_adapter = mtype_class.loss_adapter(backend="pytorch")
-
-        # TRAIN
-        nn_model.train()
-        for x, y in tqdm(loader["train"], desc="Minibatches", leave=False):
-            # Clear gradients
-            optimizer.zero_grad()
-            # Obtain model prediction given model input
-            prediction = nn_model(x)
-            # apply observation model
-            loss = loss_adapter(prediction.view_as(y), y, loss_function)
-            # Pred. must match y shape!    ^^^^^^^^^^
-            # Obtain loss for the predicted output
-            train_loss += loss.item()
-            # Gradients w.r.t. parameters
-            loss.backward()
-            # Optimize
-            optimizer.step()
-
-
-        # VALIDATE
-        if VALIDATION:
-            nn_model.eval()
-            with torch.no_grad():
-                for x, y in tqdm(loader["val"], desc="Minibatches", leave=False):
-                    prediction = nn_model(x).view_as(y)
-                    loss = loss_adapter(prediction.view_as(y), y, loss_function)
-                    val_loss += loss.item()
-                    range_epochs.set_description(f"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})")
-
-    # LOG LOSSES
-    train_loss_timeseries.append(train_loss)
-
-    if VALIDATION:
-        val_loss_timeseries.append(val_loss)
-
-        # Adjust training if needed
-        lr_scheduler(val_loss)
-        early_stopping(val_loss)
-        if early_stopping.early_stop:
-            break
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 1 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 2 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 3 of 5
-
-
-

Save model to disk

-
-
[32]:
-
-
-
torch.save(nn_model, OUT / "nn_model.pt")
-
-
-
-
-
-

Evaluate model

-
-
[33]:
-
-
-
metrics = {}
-nn_model.train(False)
-for key, loader in dataloaders.items():
-    metrics[key] = {}
-    display(Markdown(f"#### {key}"))
-    for ttype, dataloader in loader.items():
-        display(Markdown(f"##### {ttype}"))
-        try:
-            mtype= import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        obs_model = mtype.observation_model(backend="pytorch")
-        x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]
-        prediction = obs_model(nn_model(x).view_as(y).detach().numpy())
-
-        perf_data = performance(prediction, y, verbose=False)
-        metrics[key][ttype] = {}
-        for perfkey, values in perf_data.items():
-            metrics[key][ttype][perfkey] = {"mean": values[0], "std": values[1]}
-        display(predicted_vs_observed(prediction, y, mtype))
-
-
-
-
-
-
-
-
-

pKdMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.2498±0.0533 95CI=(0.1692, 0.3305)
- MSE: 0.1704±0.0794 95CI=(0.0651, 0.3030)
-  R2: 0.8635±0.0715 95CI=(0.7471, 0.9571)
-RMSE: 0.4013±0.0969 95CI=(0.2551, 0.5504)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_3.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.2738±0.0872 95CI=(0.1629, 0.4197)
- MSE: 0.2104±0.1424 95CI=(0.0542, 0.4710)
-  R2: 0.7849±0.2243 95CI=(0.4298, 0.9582)
-RMSE: 0.4323±0.1535 95CI=(0.2328, 0.6863)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_6.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.2216±0.0618 95CI=(0.1283, 0.3213)
- MSE: 0.1199±0.0543 95CI=(0.0401, 0.2115)
-  R2: 0.8932±0.0709 95CI=(0.7751, 0.9764)
-RMSE: 0.3358±0.0849 95CI=(0.2002, 0.4599)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_9.png -
-
-
-
-
-
-
-

pIC50Measurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.2354±0.0052 95CI=(0.2264, 0.2442)
- MSE: 0.1034±0.0058 95CI=(0.0939, 0.1138)
-  R2: 0.9486±0.0028 95CI=(0.9436, 0.9527)
-RMSE: 0.3214±0.0089 95CI=(0.3065, 0.3373)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_13.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.2321±0.0073 95CI=(0.2209, 0.2425)
- MSE: 0.1017±0.0077 95CI=(0.0898, 0.1157)
-  R2: 0.9498±0.0041 95CI=(0.9416, 0.9555)
-RMSE: 0.3186±0.0120 95CI=(0.2997, 0.3402)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_16.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.2386±0.0071 95CI=(0.2269, 0.2499)
- MSE: 0.1052±0.0082 95CI=(0.0934, 0.1183)
-  R2: 0.9472±0.0038 95CI=(0.9413, 0.9527)
-RMSE: 0.3241±0.0126 95CI=(0.3056, 0.3439)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_19.png -
-
-
-
-
-
-
-

pKiMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.1778±0.0158 95CI=(0.1512, 0.2068)
- MSE: 0.0529±0.0088 95CI=(0.0388, 0.0671)
-  R2: 0.9676±0.0079 95CI=(0.9546, 0.9781)
-RMSE: 0.2292±0.0191 95CI=(0.1970, 0.2590)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_23.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.1665±0.0186 95CI=(0.1355, 0.1965)
- MSE: 0.0416±0.0085 95CI=(0.0278, 0.0576)
-  R2: 0.9811±0.0058 95CI=(0.9701, 0.9890)
-RMSE: 0.2028±0.0207 95CI=(0.1668, 0.2399)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_26.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1933±0.0262 95CI=(0.1510, 0.2438)
- MSE: 0.0653±0.0154 95CI=(0.0398, 0.0926)
-  R2: 0.9303±0.0255 95CI=(0.8826, 0.9639)
-RMSE: 0.2538±0.0303 95CI=(0.1995, 0.3043)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-morgan1024-EGFR_56_29.png -
-
-
-
-

Summary

-

kinase_metrics is a nested dictionary with these dimensions:

-
    -
  • measurement type

  • -
  • metric

  • -
  • mean & standard deviation

  • -
-
-
[34]:
-
-
-
import json
-
-display(Markdown(f"""
-### Configuration
-
-```json
-{json.dumps(_hparams, default=str, indent=2)}
-```
-"""))
-
-if VERBOSE:
-    display(Markdown(
-f"""
-### Kinase metrics
-
-```json
-{json.dumps(metrics, default=str, indent=2)}
-```
-"""))
-
-
-
-
-
-
-
-
-

Configuration

-
{
-  "VERSION": "2023.11.06",
-  "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR",
-  "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider",
-  "DATASET_KWARGS": {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "measurement_types": [
-      "pIC50",
-      "pKd",
-      "pKi"
-    ],
-    "uniprot_ids": [
-      "P00533"
-    ],
-    "sample": 3000
-  },
-  "PIPELINES": {
-    "ligand": [
-      [
-        "kinoml.features.ligand.MorganFingerprintFeaturizer",
-        {
-          "nbits": 1024,
-          "radius": 2
-        }
-      ]
-    ]
-  },
-  "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays",
-  "PIPELINES_AGG_KWARGS": {},
-  "FEATURIZE_KWARGS": {
-    "keep": false
-  },
-  "GROUPS": [
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7fce6846ea60>"
-      }
-    ]
-  ],
-  "TRAIN_TEST_VAL_KWARGS": {
-    "idx_train": 0.8,
-    "idx_test": 0.1,
-    "idx_val": 0.1
-  },
-  "REPO": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml",
-  "OUT": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158",
-  "X": "[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ..., 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...]]",
-  "PARQUET_LOADER_CLS": "kinoml.datasets.torch_datasets.AwkwardArrayDataset",
-  "PARQUET_FILES": [
-    "ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet"
-  ],
-  "MODEL_CLS": "kinoml.ml.torch_models.NeuralNetworkRegression",
-  "MODEL_KWARGS": {
-    "hidden_shape": 350,
-    "input_shape": 1024
-  },
-  "OPTIMIZER": "torch.optim.Adam",
-  "OPTIMIZER_KWARGS": {
-    "lr": 0.001,
-    "eps": 1e-07,
-    "betas": [
-      0.9,
-      0.999
-    ]
-  },
-  "LOSS": "torch.nn.MSELoss",
-  "LOSS_KWARGS": {},
-  "MAX_EPOCHS": 50,
-  "VALIDATION": true,
-  "EARLY_STOPPING_KWARGS": {},
-  "DATALOADER_CLS": "torch.utils.data.DataLoader",
-  "BATCH_SIZE": 64,
-  "TRAIN_TEST_SPLIT": 0.2,
-  "SHUFFLE_SPLITS": true,
-  "COLLATE_FN": null,
-  "N_BOOTSTRAPS": 1,
-  "BOOTSTRAP_SAMPLE_RATIO": 1,
-  "VERBOSE": false,
-  "FEATURES_STORE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments"
-}
-
-
-
-
-
-
-
[35]:
-
-
-
for mtype_name in MEASUREMENT_TYPES:
-    mtype_metrics = metrics.get(mtype_name)
-    if not mtype_metrics:
-        continue
-
-    display(Markdown(f"#### {mtype_name}"))
-
-    # flatten dict a bit: from dict["test"]["r2"]["mean"] to dict["test"]["r2_mean"]
-    flattened = {}
-    for ttype, scores in mtype_metrics.items():
-        flattened[ttype] = {}
-        for score, stats in scores.items():
-            for stat, value in stats.items():
-                flattened[ttype][f"{score}_{stat}"] = value
-
-    df = pd.DataFrame.from_dict(flattened, orient="index")
-    with pd.option_context("display.float_format", "{:.3f}".format, "display.max_rows", len(df)):
-        display(
-            df.style.background_gradient(subset=["r2_mean"], low=0, high=1, vmin=0, vmax=1)
-              .apply(lambda x: ['font-weight: bold' for v in x], subset=["r2_mean"])
-        )
-
-
-
-
-
-
-
-
-

pKiMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1777710.0157850.0529210.0088070.9675860.0079240.2292480.019131
test0.1664510.0186110.0415710.0085080.9811310.0057520.2028370.020681
val0.1932610.0262350.0653150.0153760.9303270.0255220.2537690.030277
-
-
-
-
-
-
-

pIC50Measurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2353930.0052190.1033620.0057620.9485920.0027520.3213760.008907
test0.2321050.0073120.1016540.0076530.9497710.0041290.3186070.011975
val0.2386040.0071220.1051680.0082460.9471720.0037960.3240510.012595
-
-
-
-
-
-
-

pKdMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2498060.0532780.1704120.0793780.8634790.0715410.4012790.096887
test0.2737530.0872420.2103920.1424300.7849350.2243240.4322510.153464
val0.2215590.0618490.1199450.0542890.8932250.0708910.3357530.084941
-
-
-
[36]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 10:53:44.645164
-
-
-
-
-

Save reports to disk

-
-
[37]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T10:53:44.649391+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-numpy  : 1.26.0
-json   : 2.0.9
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-kinoml : 0+unknown
-torch  : 2.1.0
-awkward: 2.4.6
-pandas : 2.1.1
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 10:53:44 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   62C    P8    21W /  80W |     49MiB / 16384MiB |     12%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1260      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-ffmpeg                    4.3                  hf484d3e_0    pytorch
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-gnutls                    3.6.15               he1e5248_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lame                      3.100                h7b6447c_0
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-libidn2                   2.3.4                h5eee18b_0
-libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libtasn1                  4.19.0               h5eee18b_0
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libunistring              0.9.10               h27cfd23_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-nettle                    3.7.3                hbbd107a_1
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openh264                  2.1.1                h4ff587b_0
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchaudio                2.1.0                  py39_cpu    pytorch
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[38]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[39]:
-
-
-
import json
-
-with open(OUT / "performance.json", "w") as f:
-    json.dump(metrics, f, default=str, indent=2)
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-

And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.ipynb b/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.ipynb deleted file mode 100644 index 777b9093..00000000 --- a/docs/_build/html/notebooks/ligand-only-morgan1024-EGFR.ipynb +++ /dev/null @@ -1,12946 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only morgan 1024 experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.MorganFingerprintFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 3000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\"nbits\": 1024, \"radius\": 2},\n", - " ]\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ]\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}\n", - "#HERE = \".\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:16.674245\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4320db44cb294fb482898cbd05856b95", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/3000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
2995P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c...27.366532pKiMeasurement
2996P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc...28.835647pKiMeasurement
2997P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4...25.246417pKiMeasurement
2998P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c...27.119186pKiMeasurement
2999P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc...27.096910pKiMeasurement
\n", - "

3000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - "... ... ... \n", - "2995 P00533 & CN1CCN(c2ccc(NC(=O)c3c(NCCc4cccc(Cl)c... 2 \n", - "2996 P00533 & C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc... 2 \n", - "2997 P00533 & Cc1ccc(CNc2nc(N)nc3[nH]c4cc(C)c(O)cc4... 2 \n", - "2998 P00533 & COC1CCN(c2nccc(Nc3cc4[nH]c(-c5cn[nH]c... 2 \n", - "2999 P00533 & Nc1nc(NCc2ccc(Cl)cc2)c2c(n1)[nH]c1ccc... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - "... ... ... \n", - "2995 7.366532 pKiMeasurement \n", - "2996 8.835647 pKiMeasurement \n", - "2997 5.246417 pKiMeasurement \n", - "2998 7.119186 pKiMeasurement \n", - "2999 7.096910 pKiMeasurement \n", - "\n", - "[3000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.MorganFingerprintFeaturizer` with options `{'nbits': 1024, 'radius': 2}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " ...]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n", - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'pIC50Measurement')\n", - "('valid', 'pKdMeasurement')\n", - "('valid', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:51:51.390702\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:51:51.400767+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:51:51 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 20W / 80W | 49MiB / 16384MiB | 17% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train a model with PyTorch\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.NeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:51:59.212444\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 3000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "45d3b3578af9425a934b8a25e5b39d9f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2498±0.0533 95CI=(0.1692, 0.3305)\n", - " MSE: 0.1704±0.0794 95CI=(0.0651, 0.3030)\n", - " R2: 0.8635±0.0715 95CI=(0.7471, 0.9571)\n", - "RMSE: 0.4013±0.0969 95CI=(0.2551, 0.5504)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2738±0.0872 95CI=(0.1629, 0.4197)\n", - " MSE: 0.2104±0.1424 95CI=(0.0542, 0.4710)\n", - " R2: 0.7849±0.2243 95CI=(0.4298, 0.9582)\n", - "RMSE: 0.4323±0.1535 95CI=(0.2328, 0.6863)\n" - ] - }, - { - "data": { - "image/png": "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6emJxo0bG9S2TZs2yM3NhYuLCxo0aKC1TfPmzXH06FGMGDFCvezo0aM699mkSRN4eHhgz549GDNmTLn1ZffMSkpK1Mv8/PxQt25dXL16FcOGDdO637CwMHz22Wf466+/1KGprw4ia+ElRyIreOaZZxAREYGBAwfi22+/xbVr13D48GHMnj0bJ06cAAC8/vrrWLt2LdauXYuLFy8iPj4eP//8s859uru7Y/r06fj3v/+NTz/9FFeuXMHRo0exZs0aAICvry88PDywa9cu/P7771AqlQAePqydmJiI999/HxcvXsSZM2ewbt06vPvuuwCAoUOHwsnJCXFxcTh79ixSU1OxdOlSM/8LEVUeA43ICmQyGVJTU/H0009j9OjRaNq0KYYMGYJr167Bz88PADB48GDMnTsX06dPR9u2bXH9+nWMHz9e737nzJmDadOmYe7cuWjevDkGDx6MmzdvAgBcXFzwwQcfYNWqVQgMDMSzzz4LABgzZgw++eQTJCcno1WrVoiMjERycrK6m3/16tWxY8cOnD17FuHh4Zg1axaWLFlixn8dIuPIBC+QExGRBPAMjYiIJIGBRkREksBAIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGRESSwEAjIiJJYKAREZEk/B+wnZ9CyIFEmgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2216±0.0618 95CI=(0.1283, 0.3213)\n", - " MSE: 0.1199±0.0543 95CI=(0.0401, 0.2115)\n", - " R2: 0.8932±0.0709 95CI=(0.7751, 0.9764)\n", - "RMSE: 0.3358±0.0849 95CI=(0.2002, 0.4599)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2354±0.0052 95CI=(0.2264, 0.2442)\n", - " MSE: 0.1034±0.0058 95CI=(0.0939, 0.1138)\n", - " R2: 0.9486±0.0028 95CI=(0.9436, 0.9527)\n", - "RMSE: 0.3214±0.0089 95CI=(0.3065, 0.3373)\n" - ] - }, - { - "data": { - "image/png": "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JvLTTz+hSpUq8PT0RHR0NLp06YJPPvkEAFCnTh3UrFlT1fa3337Dw4cPUb16dVSpUkX1yMzMREZGBgDg/PnziI6OVnuPss+fdv78eRQXF6Nnz55613z79m1kZWVh3LhxanXMnz9frY7mzZvD29tbrzqIrIVdjkQm0r17d6xatQru7u4ICQlRG/jh4+Oj1lahUCA4OBhJSUkax6latapR7+/l5WXwPgqFAsCTbsf27durvabsGhVcYYrsBAONyER8fHzQoEEDvdq2atUKOTk5cHNzQ926dbW2adq0KVJSUvDKK6+otqWkpOg8ZsOGDeHl5YV9+/bhtdde03hdec1MLpertgUGBiI0NBRXr17FyJEjtR43IiICX331Ff7++29VaJZXB5G1sMuRyAp69eqF6OhoPPfcc/j1119x7do1HDt2DLNnz8apU6cAAFOnTsWXX36JL7/8EpcuXUJ8fDz++OMPncf09PTEjBkz8N577+E///kPMjIykJKSgrVr1wIAAgIC4OXlhV27duGvv/5Cfn4+gCc3aycmJmL58uW4dOkSzp07h3Xr1mHJkiUAgBEjRsDFxQXjxo1Deno6du7ciY8++sjMf0JEhmOgEVmBRCLBzp070aVLF7z66qto1KgRhg8fjmvXriEwMBAA8NJLL2Hu3LmYMWMGWrdujevXr2PixInlHnfOnDmYPn065s6di6ZNm+Kll15Cbm4uAMDNzQ0ff/wxVq9ejZCQEAwZMgQA8Nprr+GLL77A+vXrERUVha5du2L9+vWqYf5VqlTBjh07kJ6ejpYtW+L999/HokWLzPinQ2QciWAHOREROQCeoRERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUNgoBERkUP4f7S6eFnqijPBAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2321±0.0073 95CI=(0.2209, 0.2425)\n", - " MSE: 0.1017±0.0077 95CI=(0.0898, 0.1157)\n", - " R2: 0.9498±0.0041 95CI=(0.9416, 0.9555)\n", - "RMSE: 0.3186±0.0120 95CI=(0.2997, 0.3402)\n" - ] - }, - { - "data": { - "image/png": "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89k3fr7yCSFw7949hIaGwsXF8JUyh+9ydHFxKTPRK8LPz88h/4NT4+ezb/x89o2fr2wKhaLcNk4zKISIiBwbA42IiBwCA80IcrkcCQkJkMvlUpdiEfx89o2fz77x85mPww8KISIi58AzNCIicggMNCIicggMNCIicggMNCIicggMtP+zcuVKhIeHw9PTE61bt8aBAwfKbL9v3z60bt0anp6eqFevHj777DMrVVoxiYmJePrpp+Hr64vAwEAMHDgQFy9eLHOflJQUyGQyncfvv/9upaqNN3/+fJ06g4ODy9zHXr47AKhbt67e72LSpEl629v6d7d//370798foaGhkMlk2Lp1q9brQgjMnz8foaGh8PLyQpcuXXD+/Plyj7tp0yZERERALpcjIiICW7ZssdAnKFtZn6+kpASzZs1CVFQUfHx8EBoailGjRuGPP/4o85hJSUl6v9OioiILfxpd5X1/o0eP1qmzXbt25R7XXN8fAw3At99+i2nTpuHtt9/GqVOn8Mwzz6B37964ceOG3vaZmZno06cPnnnmGZw6dQr/+Mc/MGXKFGzatMnKlZdv3759mDRpEo4ePYpdu3ahtLQUsbGxKCwsLHffixcvIjs7W/No2LChFSquuGbNmmnVee7cOYNt7em7A4ATJ05ofbZdu3YBAIYMGVLmfrb63RUWFqJ58+ZYsWKF3teXLl2KDz/8ECtWrMCJEycQHByMnj174t69ewaPeeTIEbzwwgsYOXIkzpw5g5EjR2Lo0KE4duyYpT6GQWV9vgcPHiA1NRXz5s1DamoqNm/ejEuXLmHAgAHlHtfPz0/r+8zOzoanp6clPkKZyvv+ACAuLk6rzh07dpR5TLN+f4JEdHS0ePXVV7W2NWnSRMyePVtv+7feeks0adJEa9uECRNEu3btLFajueTm5goAYt++fQbb7N27VwAQd+/etV5hJkpISBDNmzc3ur09f3dCCDF16lRRv359oVKp9L5uT98dALFlyxbNc5VKJYKDg8XixYs124qKioRCoRCfffaZweMMHTpUxMXFaW3r1auXGDZsmNlrrognP58+x48fFwDE9evXDbZZt26dUCgU5i3ODPR9vvj4ePHss89W6Djm/P6c/gzt4cOH+O233xAbG6u1PTY2FocPH9a7z5EjR3Ta9+rVCydPnkRJSYnFajWH/Px8AIC/v3+5bVu2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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2386±0.0071 95CI=(0.2269, 0.2499)\n", - " MSE: 0.1052±0.0082 95CI=(0.0934, 0.1183)\n", - " R2: 0.9472±0.0038 95CI=(0.9413, 0.9527)\n", - "RMSE: 0.3241±0.0126 95CI=(0.3056, 0.3439)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1778±0.0158 95CI=(0.1512, 0.2068)\n", - " MSE: 0.0529±0.0088 95CI=(0.0388, 0.0671)\n", - " R2: 0.9676±0.0079 95CI=(0.9546, 0.9781)\n", - "RMSE: 0.2292±0.0191 95CI=(0.1970, 0.2590)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1665±0.0186 95CI=(0.1355, 0.1965)\n", - " MSE: 0.0416±0.0085 95CI=(0.0278, 0.0576)\n", - " R2: 0.9811±0.0058 95CI=(0.9701, 0.9890)\n", - "RMSE: 0.2028±0.0207 95CI=(0.1668, 0.2399)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCx0lEQVR4nO3deVxU5f4H8M+wDYgwCsqmoIgLbrmjmPuCoqBmpeaGpmaFqde6qdcKrQztWml5XfIqeF3SbiqpmeUCmFtqYrmvqKgQrqAQIw7P7w9/zHVgBoZh1jOf9+s1r1dzznPOfI8n+HDOPOd5ZEIIASIiIhvnYOkCiIiIjIGBRkREksBAIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGVuPf//43ZDIZqlatWmqdEAIrVqxAmzZt4OnpCW9vb3Tt2hU//PCDUWtISUmBTCbDd999p7E8Pz8fkZGRcHZ2xn/+8x8AQGJiImQyGa5evapuN2bMGMhkMnh4eODRo0el9n/t2jU4ODhAJpNh9uzZRq2dKm7JkiVITEy0dBlkJAw0sgo3b97EO++8g4CAAK3r4+Li8NprryEsLAybNm1CYmIi5HI5oqKisHnzZpPWlpOTg4iICCQnJ+O7777D6NGjAQD9+/fHoUOH4O/vr9He2dkZT548wcaNG0vtKyEhAR4eHiatl/THQJMWBhpZhddffx1dunRB7969ta5ftWoVOnXqhKVLl6J3796Ijo7G1q1boVAosHr1apPVlZ2djW7duuGPP/7Ajz/+iIEDB6rX1axZEx06dIBcLtfYxsXFBYMGDcKqVas0lgshkJiYiKFDh5qsXnPKz8+3dAlEGhhoZHFr165FamoqlixZorONs7MzFAqFxjJXV1f1qzwymQyTJk3C8uXL0bBhQ8jlcjRp0gQbNmzQuc21a9fQqVMn3LhxA3v37kX37t011mu75Vjs1VdfxcGDB3H+/Hn1st27d+PatWsYO3as1s/LysrCxIkTUbt2bbi4uCA4OBhz5szBkydPNNrNmTMH7du3h5eXFzw9PdG6dWusXLkSJccZ37t3L7p16wZvb2+4ubkhKCgIL774ojqIim+vpqSkaGx39epVyGQyjSuXMWPGoGrVqjh58iQiIiLg4eGBnj17AgAeP36Mjz/+GKGhoZDL5ahZsybGjh2L27dva+y3bt26iIqKwvbt29GqVSu4ubmhcePG2L59u/rfs3HjxnB3d0dYWBiOHTtW6t/o2LFjGDBgALy8vODq6opWrVrh22+/1WhTfF6Sk5PxxhtvoEaNGvD29sbgwYNx69YtjXpOnz6N1NRUyGQyyGQy1K1bV+u5IdvgZOkCyL5lZ2dj6tSpmDdvHmrXrq2z3ZQpU/DOO+9g5cqVGDx4MAoKCvDPf/4TOTk5mDx5sl6ftXXrViQnJ+PDDz+Eu7s7lixZgldeeQVOTk546aWXNNqePXsWf/vb3wAA+/btQ+PGjSt0XL169UKdOnWwatUqzJ8/HwCwcuVKdOnSBQ0aNCjVPisrC2FhYXBwcMAHH3yAkJAQHDp0CB9//DGuXr2KhIQEddurV69i4sSJCAoKAgAcPnwYb731Fm7evIkPPvhA3aZ///7o3LkzVq1ahWrVquHmzZvYuXMnHj9+jCpVqlToeICnwTVgwABMnDgRM2bMwJMnT1BUVISBAwfil19+wbvvvouOHTvi2rVriIuLQ7du3XDs2DG4ubmp9/H7779j5syZmDVrFhQKBebMmYPBgwdj5syZ2LNnDz755BPIZDJMnz4dUVFRSE9PV2+fnJyMvn37on379li2bBkUCgU2bNiAoUOHIj8/H2PGjNGod/z48ejfvz/Wr1+PjIwM/P3vf8fIkSOxd+9eAMCWLVvw0ksvQaFQqP+YKnm1TTZGEFnQiy++KDp27CiKioqEEELExMQId3d3rW2XLVsm5HK5ACAACC8vL7Fr1y69PgeAcHNzE1lZWeplT548EaGhoaJ+/frqZcnJyer9Ozo6ijNnzujcZ0JCggAg0tPT1cuerT8uLk74+fmJwsJCcffuXSGXy0ViYqK4ffu2ACDi4uLU202cOFFUrVpVXLt2TeMzFixYIACI06dPa61BpVKJwsJC8eGHHwpvb2/1v+N3330nAIgTJ07orL/4WJOTkzWWp6enCwAiISFB47gAiFWrVmm0/eabbwQAsWnTJo3lR48eFQDEkiVL1Mvq1Kkj3NzcxI0bN9TLTpw4IQAIf39/kZeXp16elJQkAIitW7eql4WGhopWrVqJwsJCjc+KiooS/v7+QqVSCSH+d17efPNNjXaffvqpACAyMzPVy5o2bSq6du2q89+IbAtvOZLFbNq0Cdu2bcOKFSsgk8nKbJuQkIApU6Zg0qRJ2L17N3bs2IGIiAgMHDgQP/30k16f17NnT/j6+qrfOzo6YujQobh06RJu3Lih0TYqKgpFRUWIjY01+LuisWPH4s8//8SPP/6IdevWwcXFBS+//LLWttu3b0f37t0REBCAJ0+eqF+RkZEAgNTUVHXbvXv3olevXlAoFHB0dISzszM++OAD3L17F9nZ2QCAli1bwsXFBa+99hpWr16NK1euGHQMJb344oul6q5WrRqio6M16m7ZsiX8/PxK3c5s2bIlatWqpX5ffOXbrVs3javG4uXXrl0DAFy6dAnnzp3DiBEjAEDjs/r164fMzEyN27sAMGDAAI33zz33nMY+SXoYaGQRjx49QmxsLN566y0EBATgwYMHePDgAR4/fgwAePDgAfLy8gAA9+/fR2xsLMaPH48FCxagZ8+eiIyMxDfffIN27drh9ddf1+sz/fz8dC67e/euxvKYmBisWLECKSkp6N+/v7qWiqhTpw569uyJVatWYdWqVRg2bJjOW31//vkntm3bBmdnZ41X06ZNAQB37twBABw5cgQREREAgBUrVuDAgQM4evQoZs2aBQD466+/AAAhISHYvXs3fHx8EBsbi5CQEISEhGDRokUVPo5iVapUgaenZ6m6Hzx4ABcXl1K1Z2Vlqesu5uXlpfHexcWlzOUFBQXqzwGAd955p9TnvPnmmxr/RsW8vb013hffTiz+NyLp4XdoZBF37tzBn3/+ic8++wyfffZZqfXVq1fHwIEDkZSUhPPnz+Ovv/5Cu3btSrVr27YtUlNT8ejRI63Prz0rKytL57KSv/wAYNy4cXBwcMD48ePRr18/7NixA+7u7voeIoCnnUNGjhyJoqIiLF26VGe7GjVq4LnnnsPcuXO1ri9+nGHDhg1wdnbG9u3bNTrDJCUlldqmc+fO6Ny5M1QqFY4dO4avvvoKU6dOha+vL4YNG6beXqlUamxXMhiKabuKLu5wsXPnTq3bGOsRhRo1agAAZs6cicGDB2tt06hRI6N8FtkuBhpZhJ+fH5KTk0stnzdvHlJTU/Hjjz+qf4kV/zI/fPgwYmJi1G2FEDh8+DCqV6+uV9Ds2bMHf/75p/q2o0qlwsaNGxESEqKzQ8rYsWMhk8kwbtw4REZGYseOHeUG57NeeOEFvPDCC1AoFOjQoYPOdlFRUdixYwdCQkJQvXp1ne1kMhmcnJzg6OioXvbXX39hzZo1OrdxdHRE+/btERoainXr1uH48eMYNmyYukffH3/8gT59+qjbb926Ve/ji4qKwoYNG6BSqdC+fXu9t6uoRo0aoUGDBvj999/xySefGG2/crmcV2wSwkAji3B1dUW3bt1KLU9MTISjo6PGuqCgIAwePBhff/015HI5+vXrB6VSidWrV+PAgQP46KOPyv0ODnj6V36PHj3w/vvvq3s5njt3rsyu+8DTLusODg4YO3YsIiMj8eOPP+odaq6urqVGHdHmww8/xK5du9CxY0dMnjwZjRo1QkFBAa5evYodO3Zg2bJlqF27Nvr374/PP/8cw4cPx2uvvYa7d+9iwYIFpXrnLVu2DHv37kX//v0RFBSEgoIC9XNxvXr1AvD0j4pevXohPj4e1atXR506dbBnz54KPag+bNgwrFu3Dv369cOUKVMQFhYGZ2dn3LhxA8nJyRg4cCBeeOEFvfdXluXLlyMyMhJ9+vTBmDFjUKtWLdy7dw9nz57F8ePH8d///rfC+2zevDk2bNiAjRs3ol69enB1dUXz5s2NUi+ZHwONbMK6deuwePFirFmzBqtWrYKzszMaNmyItWvXYvjw4XrtY8CAAWjatCnee+89XL9+HSEhIVi3bp1eDzqPHj0aDg4OGDNmDPr06aPzFpuh/P39cezYMXz00Uf45z//iRs3bsDDwwPBwcHo27ev+qqtR48e6kcBoqOjUatWLUyYMAE+Pj4YN26cen8tW7bEzz//jLi4OGRlZaFq1apo1qwZtm7dqv4ODgDWrFmDt956C9OnT4dKpUJ0dDS++eYbtG3bVq+6HR0dsXXrVixatAhr1qxBfHw8nJycULt2bXTt2tWo4dC9e3ccOXIEc+fOxdSpU3H//n14e3ujSZMmGDJkiEH7nDNnDjIzMzFhwgQ8fPgQderU0fpcIdkGmRAlnsYkkiCZTIbY2FgsXrzY0qUQkYmwlyMREUkCA42IiCSB36GRXeCddSLp4xUaERFJAgONiIgkgYFGRESSIPnv0IqKinDr1i14eHjo9fAtERFZFyEEHj58iICAADg46L4Ok3yg3bp1C4GBgZYug4iIKikjI6PMeRMlH2jFg6NmZGSUGimciIis06HLdxG7/jgePylCeKAbvn07utzBriUfaMW3GT09PRloREQ2YP/FO5i86RyeOLqid1MfzBtQH9++rX3Gh2exUwgREVmN/RfvYNzqo1A+KULPUB8sGdkacifH8jcEA42IiKzEs2HWo4JhBjDQiIjICpS8MltawTADGGhERGRhlbnN+CwGGhERWcyBS8YJM4CBRkREFnLg0h28mmicMAMYaEREZAHGDjOAgUZERGZmijADGGhERGRGpgozgIFGRERmYsowAxhoRERkBqYOM4CBRkREJrb/ounDDGCgERGRCRnroWl9MNCIiMgkzBlmAAONiIhMwNxhBjDQiIjIyCwRZgADjYiIjKiyU8BUBgONiIiMwhhTwFQGA42IiCrNUrcZn8VAIyKiSjHmFDCVwUAjIiKDmWMEEH0x0IiIyCDWFGYAA42IiAxgbWEGMNCIiKiCrDHMAAYaERFVgLWGGcBAIyIiPVlzmAEMNCIi0oO1hxnAQCMionLYQpgBDDQiIiqDrYQZwEAjIiIdbCnMAAYaERFpYWthBjDQiIioBFsMM8DCgbZv3z5ER0cjICAAMpkMSUlJOttOnDgRMpkMCxcuNFt9RET2xlbDDLBwoOXl5aFFixZYvHhxme2SkpLw66+/IiAgwEyVERHZH1sOMwBwsuSHR0ZGIjIyssw2N2/exKRJk/DTTz+hf//+ZqqMiMi+2HqYARYOtPIUFRVh1KhR+Pvf/46mTZvqtY1SqYRSqVS/z83NNVV5RESSIIUwA6y8U8j8+fPh5OSEyZMn671NfHw8FAqF+hUYGGjCComIbJtUwgyw4kD77bffsGjRIiQmJkImk+m93cyZM5GTk6N+ZWRkmLBKIiLbJaUwA6w40H755RdkZ2cjKCgITk5OcHJywrVr1/D222+jbt26OreTy+Xw9PTUeBERkSaphRlgxd+hjRo1Cr169dJY1qdPH4waNQpjx461UFVERLZPimEGWDjQHj16hEuXLqnfp6en48SJE/Dy8kJQUBC8vb012js7O8PPzw+NGjUyd6lERJIg1TADLBxox44dQ/fu3dXvp02bBgCIiYlBYmKihaoiIpImKYcZYOFA69atG4QQere/evWq6YohIpIwqYcZYMWdQoiIyDjsIcwABhoRkaTZS5gBDDQiIsmypzADGGhERJJkb2EGMNCIiCTHHsMMYKAREUmKvYYZwEAjIpIMew4zgIFGRCQJ9h5mAAONiMjmMcyeYqAREdmw/RcZZsUYaERENmr/xTsYt5phVoyBRkRkgxhmpTHQiIhsDMNMOwYaEZENYZjpxkAjIrIRz4ZZD4ZZKQw0IiIbUPLKbCnDrBQGGhGRleNtRv0w0IiIrNiBSwwzfTHQiIisFEcAqRgGGhGRFWKYVRwDjYjIyjDMDMNAIyKyIgwzwzHQiIisBMOschhoRERWgGFWeQw0IiIL4xQwxsFAIyKyID40bTwMNCIiC2GYGRcDjYjIAhhmxsdAIyIyM4aZaTDQiIjMiFPAmA4DjYjITDgFjGkx0IiIzIC3GU2PgUZEZGKcAsY8GGhERCbEEUDMx6KBtm/fPkRHRyMgIAAymQxJSUnqdYWFhZg+fTqaN28Od3d3BAQEYPTo0bh165blCiYiqgCGmXlZNNDy8vLQokULLF68uNS6/Px8HD9+HO+//z6OHz+OzZs348KFCxgwYIAFKiUiqhiGmfnJhBDC0kUAgEwmw5YtWzBo0CCdbY4ePYqwsDBcu3YNQUFBeu03NzcXCoUCOTk58PT0NFK1RES6McyMS9/f405mrKnScnJyIJPJUK1aNZ1tlEollEql+n1ubq4ZKiMieophZjk20ymkoKAAM2bMwPDhw8tM6Pj4eCgUCvUrMDDQjFUSkT1jmFmWTQRaYWEhhg0bhqKiIixZsqTMtjNnzkROTo76lZGRYaYqicieMcwsz+pvORYWFmLIkCFIT0/H3r17y/0eTC6XQy6Xm6k6IiKGmbWw6kArDrOLFy8iOTkZ3t7eli6JiEgDw8x6WDTQHj16hEuXLqnfp6en48SJE/Dy8kJAQABeeuklHD9+HNu3b4dKpUJWVhYAwMvLCy4uLpYqm4gIAMPM2li0235KSgq6d+9eanlMTAxmz56N4OBgrdslJyejW7duen0Gu+0TkSkwzMzHJrrtd+vWDWXlqZU8IkdEpIFhZp1sopcjEZG1YJhZLwYaEZGeGGbWjYFGRKQHhpn1Y6AREZWDYWYbGGhERGVgmNkOBhoRkQ4MM9vCQCMi0oJhZnsYaEREJTDMbBMDjYjoGQwz28VAIyL6fwwz28ZAIyICw0wKGGhEZPcYZtLAQCMiu8Ywkw4GGhHZLYaZtDDQiMguMcykh4FGRHaHYSZNDDQisisMM+lioBGR3WCYSRsDjYjsAsNM+hhoRCR5DDP7wEAjIknbf5FhZi8YaEQkWfsv3sG41Qwze8FAIyJJYpjZHwYaEUkOw8w+MdCISFIYZvaLgUZEkvFsmPVgmNkdBhoRSULJK7OlDDO7w0AjIpvH24wEMNCIyMYduMQwo6cYaERkszgCCD2LgUZENolhRiUx0IjI5jDMSBsGGhHZFIYZ6eJk6QKIiJ6lKhI4kn4P2Q8L4OPhirBgLzg6yAAwzKhsFr1C27dvH6KjoxEQEACZTIakpCSN9UIIzJ49GwEBAXBzc0O3bt1w+vRpyxRLRCa381QmOs3fi1dWHMaUDSfwyorD6DR/L3aeymSYUbksGmh5eXlo0aIFFi9erHX9p59+is8//xyLFy/G0aNH4efnh969e+Phw4dmrpSITG3nqUy8sfY4MnMKNJZn5RTg9bXHMSbhCMOMymTRW46RkZGIjIzUuk4IgYULF2LWrFkYPHgwAGD16tXw9fXF+vXrMXHiRHOWSkQmpCoSmLPtDISWdcXLClWCw1lRmay2U0h6ejqysrIQERGhXiaXy9G1a1ccPHhQ53ZKpRK5ubkaLyKybkfS75W6MtNmTMe6DDPSyWoDLSsrCwDg6+ursdzX11e9Tpv4+HgoFAr1KzAw0KR1ElHlZT8sP8wA4H7+YxNXQrbMagOtmEwm03gvhCi17FkzZ85ETk6O+pWRkWHqEomoknw8XI3ajuyT1Xbb9/PzA/D0Ss3f31+9PDs7u9RV27PkcjnkcrnJ6yMi4wkL9oK/whVZOQVav0eTAfBTPO3CT6SL1V6hBQcHw8/PD7t27VIve/z4MVJTU9GxY0cLVkZExuboIENcdBOdYQYAcdFN1M+jEWlj0Su0R48e4dKlS+r36enpOHHiBLy8vBAUFISpU6fik08+QYMGDdCgQQN88sknqFKlCoYPH27BqonIFKrKneHsKEOhSjPW/BSuiItugr7N/HVsSfSURQPt2LFj6N69u/r9tGnTAAAxMTFITEzEu+++i7/++gtvvvkm7t+/j/bt2+Pnn3+Gh4eHpUomIhMongKmuGv+mI51cT//camRQojKIhNCaLvKl4zc3FwoFArk5OTA09PT0uUQUQkcAYTKo+/vcav9Do2IpI9hRsbEQCMii2CYkbEx0IjI7BhmZAoMNCIyK4YZmQoDjYjMhmFGpsRAIyKzYJiRqTHQiMjkGGZkDgw0IjIphhmZCwONiEyGYUbmxEAjIpNgmJG5MdCIyOgYZmQJDDQiMiqGGVkKA42IjIZhRpbEQCMio2CYkaUx0Iio0hhmZA0sOsEnEVknVZHAkfR7yH5YUO4kmwwzshYMNCLSsPNUJuZsO4PMnAL1Mn+FK+Kim6BvM3+Ntgwzsia85UhEajtPZeKNtcc1wgwAsnIK8Mba49h5KlO9jGFG1oaBRkQAnt5mnLPtDISWdcXL5mw7A1WRYJiRVdL7luOXX36p904nT55sUDFEZDlH0u+VujJ7lgCQmVOAVfvTseDn8wwzsjp6B9oXX3yh8f727dvIz89HtWrVAAAPHjxAlSpV4OPjw0AjskHZD3WH2bPm7TwHVZFgmJHV0TvQ0tPT1f+9fv16LFmyBCtXrkSjRo0AAOfPn8eECRMwceJE41dJREZT3IMxK+cv3Mt7DK+qcvh5uqJGVbne2zev5ckwI6sjE0Jou2VeppCQEHz33Xdo1aqVxvLffvsNL730kkb4WVpubi4UCgVycnLg6elp6XKILEpbD8ZiCjcn5P71ROt3aCX5ecpxYEZPnV35iYxJ39/jBnUKyczMRGFhYanlKpUKf/75pyG7JCIT09WDsViOnmEGAFm5ShxJv2e84oiMwKBA69mzJyZMmIBjx46h+ALv2LFjmDhxInr16mXUAomo8srqwWgofb9zIzIXgwJt1apVqFWrFsLCwuDq6gq5XI727dvD398f//73v41dIxFVUnk9GA3h4+Fq1P0RVZZBI4XUrFkTO3bswIULF3Du3DkIIdC4cWM0bNjQ2PURkREY+2qqWhVnhAV7GXWfRJVVqaGv6tatCyEEQkJC4OTEUbSIrJWxr6bGdgxmhxCyOgbdcszPz8e4ceNQpUoVNG3aFNevXwfw9IHqefPmGbVAIqq8sGAv+Hnq1y2/PNWqOGNSj/pG2ReRMRkUaDNnzsTvv/+OlJQUuLr+7y+/Xr16YePGjUYrjoiMw9FBhlfCgoyyr3mDm/PqjKySQfcJk5KSsHHjRnTo0AEy2f/+x27SpAkuX75stOKIyHjq1nCv1Pa6RtwnshYGBdrt27fh4+NTanleXp5GwBGR9dB3JJCSqrk541/DW6NDiDevzMiqGXTLsV27dvjhhx/U74tDbMWKFQgPDzdOZURkNDtPZeLtb09UeDsZgHkvNsfzDWowzMjqGXSFFh8fj759++LMmTN48uQJFi1ahNOnT+PQoUNITU01WnFPnjzB7NmzsW7dOmRlZcHf3x9jxozBe++9BwcHznxDVB5VkcDivRfxxe6LFd6WtxjJ1hgUaB07dsSBAwewYMEChISE4Oeff0br1q1x6NAhNG/e3GjFzZ8/H8uWLcPq1avRtGlTHDt2DGPHjoVCocCUKVOM9jlEUrTzVCZmbz2DrNzyn0GrXsUZA1sGILB6FfVgxWHBXrwqI5ti0ODE5hIVFQVfX1+sXLlSvezFF19ElSpVsGbNGr32wcGJyR4Vj9uo7w/3unHt8XyDGiatichQJh2cuHv37li5ciVycnIMLlAfnTp1wp49e3DhwgUAwO+//479+/ejX79+Jv1cIltmyLiNd/KUJquHyFwMuuXYvHlzvPfee5g0aRL69euHUaNGoV+/fnBxcTFqcdOnT0dOTg5CQ0Ph6OgIlUqFuXPn4pVXXtG5jVKphFL5vx/O3Nxco9ZEZE2K5zbLflgAH4+ntwkNGbeR4zKSFBgUaF9++SUWLlyI3bt3Y/369YiJiYGjoyNeeukljBgxAl27djVKcRs3bsTatWuxfv16NG3aFCdOnMDUqVMREBCAmJgYrdvEx8djzpw5Rvl8ImtUHGK7zmQh6cQt3Mt7rF7nr3BFv2Z+eu9LBsBP4cpxGUkSjPIdWkFBAbZt24a5c+fi5MmTUKlUxqgNgYGBmDFjBmJjY9XLPv74Y6xduxbnzp3Tuo22K7TAwEB+h0aSUNYEnYaQAVg6sjV7MpJV0/c7tEqPKJyVlYUNGzZg7dq1+OOPP9CuXbvK7lItPz+/VPd8R0dHFBUV6dxGLpdDLjfOmHVE1qSiHT30MbVXQ4YZSYZBgZabm4tNmzZh/fr1SElJQb169TB8+HBs2LAB9esbb9DS6OhozJ07F0FBQWjatCnS0tLw+eef49VXXzXaZxDZAlNM0AkAdWtUMfIeiSzHoEDz9fVF9erVMWTIEHzyySdGvSp71ldffYX3338fb775JrKzsxEQEICJEyfigw8+MMnnEVkrU0zQCbAzCElLhQNNCIFFixZh5MiRqFLFtH/deXh4YOHChVi4cKFJP4fI2hl7gk52BiEpqvBzaEIITJo0CTdv3jRFPUSkhaEDC5clLroJRwIhSalwoDk4OKBBgwa4e/euKeohIi2Opt8z2r4cZMC/hrdiZxCSHINGCvn000/x97//HadOnTJ2PURUws5TmVi4p+KDC+tSJIDq7uwJTNJjUKeQkSNHIj8/Hy1atICLiwvc3Nw01t+7Z7y/JonsWXHvRmMz9ndyRNbAoEBjJw0i82DvRiL9GRRouoadIiLjqsiV1KvP18WqA1fLbMPejSRlBs+SefnyZbz33nt45ZVXkJ2dDQDYuXMnTp8+bbTiiOydvldSk7qH4MdTWXq1Ze9GkiqDAi01NRXNmzfHr7/+is2bN+PRo0cAgD/++ANxcXFGLZDIHqmKBA5dvosV+y6V29bPU47wejX0ujXJoa5Iygy65Thjxgx8/PHHmDZtGjw8PNTLu3fvjkWLFhmtOCJ7VNEBiD+Iaqr3fGYc6oqkzKBAO3nyJNavX19qec2aNfl8GlElGDIAcXV3/echZGcQkjKDbjlWq1YNmZmZpZanpaWhVq1alS6KSOqKbyl+f+ImDl2+C1WRMHgA4uyHBQgL9oK/whW6vhmT4elcaewMQlJm0BXa8OHDMX36dPz3v/+FTCZDUVERDhw4gHfeeQejR482do1EkqLtlqK/whXD2gUa1EXfx8MVjg4yxEU3wRtrj0MGaIRiccixMwhJnUETfBYWFmLMmDHYsGEDhBBwcnKCSqXC8OHDkZiYCEdHR1PUahB9J4YjMgddtxRLhpC+vNydcXRWb3VQ6QrLuOgm7AxCNkvf3+OVmrH6ypUrOH78OIqKitCqVSs0aNDA0F2ZDAONrIWqSKDT/L1GfVB6yfBW6PdcQKnPOZJ+D9kPC+Dj8fQ2I6/MyJaZZcbqevXqoV69elCpVDh58iTu37+P6tWrV2aXRJJl7FE/JnYJLhVmAODoIEN4iLfRPofIVhjUKWTq1KlYuXIlAEClUqFr165o3bo1AgMDkZKSYsz6iCTDmOMnjn2+Lmb2a2K0/RFJgUGB9t1336FFixYAgG3btuHKlSs4d+4cpk6dilmzZhm1QCKpMGaX+YgmfkbbF5FUGBRod+7cgZ/f0x+oHTt2YMiQIWjYsCHGjRuHkydPGrVAIqkIC/aCVwWeGdPF292F3e+JtDAo0Hx9fXHmzBmoVCrs3LkTvXr1AgDk5+dbVQ9HImvi6CDDoJalv/OqqIEtA9jJg0gLgzqFjB07FkOGDIG/vz9kMhl69+4NAPj1118RGhpq1AKJpEThVvkrtN683UiklUGBNnv2bDRr1gwZGRl4+eWXIZc/nf3W0dERM2bMMGqBRFKx81QmFu6+UKl9cLQPIt0q9RyaLeBzaGQNjPUM2rKRrfmANNkdfX+PGzwf2p49exAVFYWQkBDUr18fUVFR2L17t6G7I5K0yj6D5iB7+hA1w4xIN4MCbfHixejbty88PDwwZcoUTJ48GZ6enujXrx8WL15s7BqJbF5ln0Fb/EprrQ9RE9H/GPQdWnx8PL744gtMmjRJvWzy5Ml4/vnnMXfuXI3lRPagvOGmDH0GzUEGTOgcjH7P8cqMqDwGBVpubi769u1banlERASmT59e6aKIbIm2AYG93J3xQsta6NXED2HBXggL9oKHqyMeFqgqtG8hgK/3paNVUHXebiQqh0G3HAcMGIAtW7aUWv79998jOjq60kUR2Yri0fNLfj92L68QKw9cxSsrDqPT/L34as8F5D8uqvD+i3tszdl2BqoiSfffIqo0va/QvvzyS/V/N27cGHPnzkVKSgrCw8MBAIcPH8aBAwfw9ttvG79KIiuk74ScmTkFWLjnksGfI/5/H0fS73HQYaIy6N1tPzg4WL8dymS4cuVKpYoyJnbbJ1M5cPEORqz8Ve/2cicHVHNzQvbDxwbNfbZoWEsMbMkZ4cn+GH36mPT09FLL7ty5A5lMBm9v/tVI9mXnqUzM2FSxcUuVT4owvH0dLNx90aAJPY05uDGRFFX4O7QHDx4gNjYWNWrUgK+vL3x8fFCjRg1MmjQJDx48MEGJRNal+HuzB38VVnjbujXcsXRka/gpNMOprKEZZeAIIUT6qFAvx3v37iE8PBw3b97EiBEj0LhxYwghcPbsWSQmJmLPnj04ePAgJ/kkydL3ezNdfDxcER7ijd5N/DS6+d/Pe4zY9ccBaF65FedcXHQTDkhMVI4KBdqHH34IFxcXXL58Gb6+vqXWRURE4MMPP8QXX3xh1CKJrIWhI37IAPg9c5WlbVbppQ6tS3X/91O4Ii66CbvsE+mhQoGWlJSE5cuXlwozAPDz88Onn36K119/nYFGkmXoiB8C5V9l9W3mX+rKreQD2kSkW4W+Q8vMzETTpk11rm/WrBmysrIqXdSzbt68iZEjR8Lb2xtVqlRBy5Yt8dtvvxn1M4j0ZeqOGcVXbgNb1kJ4iDfDjKgCKhRoNWrUwNWrV3WuT09PN2qPx/v37+P555+Hs7MzfvzxR5w5cwafffYZqlWrZrTPIKqIsGAv+CtcUdGYkYEPRxOZWoUCrW/fvpg1axYeP35cap1SqcT777+vdUgsQ82fPx+BgYFISEhAWFgY6tati549eyIkJMRon0FUEY4OMsRFNwGACoXasw9HE5FpVGg+tBs3bqBt27aQy+WIjY1Vz0595swZLFmyBEqlEseOHUNgYKBRimvSpAn69OmDGzduIDU1FbVq1cKbb76JCRMm6L0PPlhNprDzVCb+seUk7uVVrOs+H44mqjijP1gNALVr18ahQ4fw5ptvYubMmSjOQplMht69e2Px4sVGCzMAuHLlCpYuXYpp06bhH//4B44cOYLJkydDLpdj9OjRWrdRKpVQKpXq97m5uUarh6iYh6sz8pRPBxpuGuCJAc/5I37n+XK348PRRKZj8IzV9+/fx8WLFwEA9evXh5eX8R/6dHFxQdu2bXHw4EH1ssmTJ+Po0aM4dOiQ1m1mz56NOXPmlFrOKzQylgOX7uDVxKNQPilCz1AfLBnZGk4ODug0fy+ycgq0PqNW3G1///Qe7OhBVEEmn7G6evXqCAsLQ1hYmEnCDAD8/f3RpEkTjWWNGzfG9evXdW4zc+ZM5OTkqF8ZGRkmqY3sk7Ywkzs5lvndGh+OJjIPgwPNHJ5//nmcP695G+fChQuoU6eOzm3kcjk8PT01XkTGoCvMivVt5q91WCs/hSuWjmzNh6OJTMygCT7N5W9/+xs6duyITz75BEOGDMGRI0fw9ddf4+uvv7Z0aWRnyguzYnw4mshyDP4OzVy2b9+OmTNn4uLFiwgODsa0adPYy5HMav/FOxi3uvwwIyLT0Pf3uNUHWmUx0KgyGGZElmfyTiFEUscwI7ItDDQiLfZduI2xiUegfFKEVoHVMKpDHew8lYVDl+9y+CoiK2XVnUKIzEVVJNQdOVLP38bmtJvqdWkZDzAm8aj6vT+ndCGySgw0sns7T2WWmoesLFk5BXhj7XF2xSeyMrzlSHZt56lMvLH2eIUm7Sy+4cjR84msCwON7JaqSGDOtjNah6oqD0fPJ7I+DDSyW0fS71XoykwbQ2ewJiLjY6CR3TJGGHH0fCLrwU4hZLeyc5XlN9KhePT8sGDTDMxNRBXHQCPJebYLvq6xFA9cuoMFP5c/f5k2HD2fyDox0EhStHXBL/nc2LMDDTev5YmTN3MhA/TuHOLH59CIrBIDjSSjuAt+yWB69rkxD1fnUqPmJ5/L1hqCw9oFoW6NKqhRVQ4I4E6ekqPnE1kxDk5MkqAqEug0f6/OXosyANXdnZGnVGkdm1Gf25REZBn6/h7nFRpJQnld8AWAe3mFAKB1oGFHBxnCQ7xNXSYRmRC77ZMk6NsFv2mAJ0fNJ5IoBhpJgr7Pg03vG8owI5IoBhpJwv28xyjvKy8/Tzmer1/DPAURkdnxOzSyeTtPZSJ2fenejSXNHtCUHT2IJIxXaGTT9BlgWAZgyfBWfG6MSOIYaGTT9BlgWACo7i43T0FEZDEMNLJp+vZu5Kj4RNLHQCObpm/vRo6KTyR9DDSyaWHBXvByd9a5Xoanw1hxVHwi6WOgkU07fOUuHhY80bqOo+IT2RcGGtms4lHzC1UCzWt5ws9Ts+OHn8IVS0e2Zu9GIjvB59DIJj07BUzx2IxODg4cYJjIjjHQyOqUN/K9tjArHs6KAwwT2S8GGlmVHX9k4r3vT+Fe3mP1smcn6CwrzIjIvjHQyGrE7ziD5fvSSy3P/P8JOqf0rI+lqVcYZkSkFQONrMKOP25pDbNiAsDCPZcAaJ/PjIiIvRzJ4lRFAu99f0qvtq2DqjHMiEgrBhpZ3JH0e+rZpMszon0Qw4yItGKgkcVl5eo/zmJAtSomrISIbBkDjSzu3iOlXu08XZ04hBUR6WRTgRYfHw+ZTIapU6dauhQyIi93F73avdi6Fh+UJiKdbCbQjh49iq+//hrPPfecpUshI/NTuOnVLqIph7AiIt1sItAePXqEESNGYMWKFahevbqlyyEjCwv2gr+i7OldOGI+EZXHJgItNjYW/fv3R69evcptq1QqkZubq/Ei66AqEjh0+S6+P3EThy7fhapIAAAcHWR4uU1tndvJwBHziah8Vv9g9YYNG3D8+HEcPXpUr/bx8fGYM2eOiauiitp5KhNztp1BZs7/ejQWD2l1LjMXX+69pHW7Z4e9IiIqi0wIISxdhC4ZGRlo27Ytfv75Z7Ro0QIA0K1bN7Rs2RILFy7Uuo1SqYRS+b9ec7m5uQgMDEROTg48PT3NUTaVsPNUJt5Yexwl/0eTAaWWlbRkeGv0e45hRmTPcnNzoVAoyv09btWBlpSUhBdeeAGOjv97kFalUkEmk8HBwQFKpVJjnTb6/kOQaaiKBDrN36txZaYvGZ7OabZ/eg/ebiSyY/r+HrfqW449e/bEyZMnNZaNHTsWoaGhmD59erlhRpZ3JP2eQWEGPL16y8wpwJH0e5wWhojKZdWB5uHhgWbNmmksc3d3h7e3d6nlZJ2yHxoWZsbeBxFJn030ciTb5eNRdnd8c+2DiKTPqq/QtElJSbF0CVQB9/P0G9ZKm+Lv0Pj8GRHpg1doZDKqIoGPfjirV9uSXT6K3/P5MyLSFwONTEbfDiF/69UQfiVGCvFTuGLpyNZ8/oyI9GZztxzJdujbmaNujSrYP70HjqTfQ/bDAvh4PL3NyCszIqoIBhqZTHauft+f+Xi4wtFBxq75RFQpDDQyiQOX7mDBz+fLbMNOH0RkTPwOjYzuwKU7eDXxKJRPitC81tOn+tnpg4hMjYFGRvVsmPUM9cF3b3TEspGt2emDiEyOtxzJaEqG2ZKRrSF3ckTfZv7o3cSPnT6IyKQYaGQUusKsGDt9EJGp8ZYjVdr+i2WHGRGROTDQqFL2X7yDcasZZkRkeQw0MhjDjIisCQONDMIwIyJrw0CjCmOYEZE1YqBRhTwbZj0YZkRkRRhopLeSV2ZLGWZEZEUYaKQX3mYkImvHQKNyHbjEMCMi68dAozKVNwIIEZG1YKCRTgwzIrIlDDTSimFGRLaGgUalMMyIyBYx0EgDw4yIbBUDjdQYZkRkyxhoBIBTwBCR7WOgER+aJiJJYKDZOYYZEUkFA82OMcyISEoYaHaKYUZEUsNAs0OcAoaIpIiBZmc4BQwRSRUDzY7wNiMRSRkDzU5wChgikjoGmh3gCCBEZA+sOtDi4+PRrl07eHh4wMfHB4MGDcL58+ctXZZNYZgRkb2w6kBLTU1FbGwsDh8+jF27duHJkyeIiIhAXl6epUuzCQwzIrInMiGEsHQR+rp9+zZ8fHyQmpqKLl266LVNbm4uFAoFcnJy4OnpaeIKrQfDjIikQt/f405mrKnScnJyAABeXl462yiVSiiVSvX73Nxck9dlbRhmRGSPrPqW47OEEJg2bRo6deqEZs2a6WwXHx8PhUKhfgUGBpqxSstjmBGRvbKZW46xsbH44YcfsH//ftSuXVtnO21XaIGBgXZxy5FhRkRSJKlbjm+99Ra2bt2Kffv2lRlmACCXyyGXy81UmfVgmBGRvbPqQBNC4K233sKWLVuQkpKC4OBgS5dklRhmRERWHmixsbFYv349vv/+e3h4eCArKwsAoFAo4ObmZuHqrAPDjIjoKav+Dk0mk2ldnpCQgDFjxui1Dyl322eYEZE9kMR3aFactRbHMCMi0mQz3fbpfxhmRESlMdBsDMOMiEg7BpoNYZgREenGQLMRDDMiorIx0GwAw4yIqHwMNCvHMCMi0g8DzYoxzIiI9MdAs1IMMyKiimGgWSGGGRFRxTHQrAzDjIjIMAw0K8IwIyIyHAPNSjDMiIgqh4FmBRhmRESVx0CzMIYZEZFxMNAsiGFGRGQ8DDQLYZgRERkXA80CGGZERMbHQDMzhhkRkWkw0MyIYUZEZDoMNDNhmBERmRYDzQz2X2SYERGZGgPNxPZfvINxqxlmRESmxkAzIYYZEZH5MNBMhGFGRGReDDQTYJgREZkfA83Ing2zHgwzIiKzYaAZUckrs6UMMyIis2GgGQlvMxIRWRYDzQgOXGKYERFZGgOtkjgCCBGRdWCgVQLDjIjIejDQDMQwIyKyLgw0AzDMiIisDwOtghhmRETWySYCbcmSJQgODoarqyvatGmDX375xSJ1MMyIiKyX1Qfaxo0bMXXqVMyaNQtpaWno3LkzIiMjcf36dbPWwSlgiIism0wIISxdRFnat2+P1q1bY+nSpepljRs3xqBBgxAfH1/u9rm5uVAoFMjJyYGnp6dBNfChaSIiy9H397hVX6E9fvwYv/32GyIiIjSWR0RE4ODBg1q3USqVyM3N1XhVBsOMiMg2WHWg3blzByqVCr6+vhrLfX19kZWVpXWb+Ph4KBQK9SswMNDgz2eYERHZDqsOtGIymUzjvRCi1LJiM2fORE5OjvqVkZFh0GcyzIiIbIuTpQsoS40aNeDo6Fjqaiw7O7vUVVsxuVwOuVxeqc/lFDBERLbHqq/QXFxc0KZNG+zatUtj+a5du9CxY0eTfCangCEisk1WfYUGANOmTcOoUaPQtm1bhIeH4+uvv8b169fx+uuvG/2zeJuRiMh2WX2gDR06FHfv3sWHH36IzMxMNGvWDDt27ECdOnWM+jmcAoaIyLZZ/XNolaXP8wscAYSIyHpJ4jk0c2CYERFJg10HGsOMiEg67DbQGGZERNJil4HGMCMikh67CzSGGRGRNNlVoDHMiIiky+qfQzOWw5fv4q1N5xhmREQSZTdXaG+uP84wIyKSMLsJtMcMMyIiSZP8LcfigVDCA90wb0B9KPPzoLRwTUREpL/iiZrLG9hK8kNf3bhxo1KTfBIRkXXIyMhA7dq1da6XfKAVFRXh1q1b8PDw0DkpaHlyc3MRGBiIjIyMMscRs1U8PtvG47NtPL7yCSHw8OFDBAQEwMFB9zdlkr/l6ODgUGaiV4Snp6ck/4crxuOzbTw+28bjK5tCoSi3jd10CiEiImljoBERkSQw0PQgl8sRFxcHuVxu6VJMgsdn23h8to3HZzyS7xRCRET2gVdoREQkCQw0IiKSBAYaERFJAgONiIgkgYH2/5YsWYLg4GC4urqiTZs2+OWXX8psn5qaijZt2sDV1RX16tXDsmXLzFRpxcTHx6Ndu3bw8PCAj48PBg0ahPPnz5e5TUpKCmQyWanXuXPnzFS1/mbPnl2qTj8/vzK3sZVzBwB169bVei5iY2O1trf2c7dv3z5ER0cjICAAMpkMSUlJGuuFEJg9ezYCAgLg5uaGbt264fTp0+Xud9OmTWjSpAnkcjmaNGmCLVu2mOgIylbW8RUWFmL69Olo3rw53N3dERAQgNGjR+PWrVtl7jMxMVHrOS0oKDDx0ZRW3vkbM2ZMqTo7dOhQ7n6Ndf4YaAA2btyIqVOnYtasWUhLS0Pnzp0RGRmJ69eva22fnp6Ofv36oXPnzkhLS8M//vEPTJ48GZs2bTJz5eVLTU1FbGwsDh8+jF27duHJkyeIiIhAXl5eudueP38emZmZ6leDBg3MUHHFNW3aVKPOkydP6mxrS+cOAI4ePapxbLt27QIAvPzyy2VuZ63nLi8vDy1atMDixYu1rv/000/x+eefY/HixTh69Cj8/PzQu3dvPHz4UOc+Dx06hKFDh2LUqFH4/fffMWrUKAwZMgS//vqrqQ5Dp7KOLz8/H8ePH8f777+P48ePY/Pmzbhw4QIGDBhQ7n49PT01zmdmZiZcXV1NcQhlKu/8AUDfvn016tyxY0eZ+zTq+RMkwsLCxOuvv66xLDQ0VMyYMUNr+3fffVeEhoZqLJs4caLo0KGDyWo0luzsbAFApKam6myTnJwsAIj79++brzADxcXFiRYtWujd3pbPnRBCTJkyRYSEhIiioiKt623p3AEQW7ZsUb8vKioSfn5+Yt68eeplBQUFQqFQiGXLluncz5AhQ0Tfvn01lvXp00cMGzbM6DVXRMnj0+bIkSMCgLh27ZrONgkJCUKhUBi3OCPQdnwxMTFi4MCBFdqPMc+f3V+hPX78GL/99hsiIiI0lkdERODgwYNatzl06FCp9n369MGxY8dQWFhoslqNIScnBwDg5eVVbttWrVrB398fPXv2RHJysqlLM9jFixcREBCA4OBgDBs2DFeuXNHZ1pbP3ePHj7F27Vq8+uqr5Q60bSvn7lnp6enIysrSOD9yuRxdu3bV+bMI6D6nZW1jLXJyciCTyVCtWrUy2z169Ah16tRB7dq1ERUVhbS0NPMUaICUlBT4+PigYcOGmDBhArKzs8tsb8zzZ/eBdufOHahUKvj6+mos9/X1RVZWltZtsrKytLZ/8uQJ7ty5Y7JaK0sIgWnTpqFTp05o1qyZznb+/v74+uuvsWnTJmzevBmNGjVCz549sW/fPjNWq5/27dvjP//5D3766SesWLECWVlZ6NixI+7evau1va2eOwBISkrCgwcPMGbMGJ1tbOnclVT881aRn8Xi7Sq6jTUoKCjAjBkzMHz48DIH7Q0NDUViYiK2bt2Kb775Bq6urnj++edx8eJFM1arn8jISKxbtw579+7FZ599hqNHj6JHjx5QKnXPQmnM8yf50fb1VfIvXiFEmX8Fa2uvbbk1mTRpEv744w/s37+/zHaNGjVCo0aN1O/Dw8ORkZGBBQsWoEuXLqYus0IiIyPV/928eXOEh4cjJCQEq1evxrRp07RuY4vnDgBWrlyJyMhIBAQE6GxjS+dOl4r+LBq6jSUVFhZi2LBhKCoqwpIlS8ps26FDB42OFc8//zxat26Nr776Cl9++aWpS62QoUOHqv+7WbNmaNu2LerUqYMffvgBgwcP1rmdsc6f3V+h1ahRA46OjqX+GsjOzi71V0MxPz8/re2dnJzg7e1tslor46233sLWrVuRnJxs0HQ6HTp0sMq/CEtyd3dH8+bNddZqi+cOAK5du4bdu3dj/PjxFd7WVs5dce/UivwsFm9X0W0sqbCwEEOGDEF6ejp27dpV4SlVHBwc0K5dO5s4p/7+/qhTp06ZtRrz/Nl9oLm4uKBNmzbq3mPFdu3ahY4dO2rdJjw8vFT7n3/+GW3btoWzs7PJajWEEAKTJk3C5s2bsXfvXgQHBxu0n7S0NPj7+xu5OuNTKpU4e/aszlpt6dw9KyEhAT4+Pujfv3+Ft7WVcxccHAw/Pz+N8/P48WOkpqbq/FkEdJ/TsraxlOIwu3jxInbv3m3QH1FCCJw4ccImzundu3eRkZFRZq1GPX8V7kYiQRs2bBDOzs5i5cqV4syZM2Lq1KnC3d1dXL16VQghxIwZM8SoUaPU7a9cuSKqVKki/va3v4kzZ86IlStXCmdnZ/Hdd99Z6hB0euONN4RCoRApKSkiMzNT/crPz1e3KXl8X3zxhdiyZYu4cOGCOHXqlJgxY4YAIDZt2mSJQyjT22+/LVJSUsSVK1fE4cOHRVRUlPDw8JDEuSumUqlEUFCQmD59eql1tnbuHj58KNLS0kRaWpoAID7//HORlpam7uU3b948oVAoxObNm8XJkyfFK6+8Ivz9/UVubq56H6NGjdLogXzgwAHh6Ogo5s2bJ86ePSvmzZsnnJycxOHDh63q+AoLC8WAAQNE7dq1xYkTJzR+HpVKpc7jmz17tti5c6e4fPmySEtLE2PHjhVOTk7i119/tarje/jwoXj77bfFwYMHRXp6ukhOThbh4eGiVq1aZjt/DLT/969//UvUqVNHuLi4iNatW2t0a4+JiRFdu3bVaJ+SkiJatWolXFxcRN26dcXSpUvNXLF+AGh9JSQkqNuUPL758+eLkJAQ4erqKqpXry46deokfvjhB/MXr4ehQ4cKf39/4ezsLAICAsTgwYPF6dOn1ett+dwV++mnnwQAcf78+VLrbO3cFT9WUPIVExMjhHjadT8uLk74+fkJuVwuunTpIk6ePKmxj65du6rbF/vvf/8rGjVqJJydnUVoaKjFArys40tPT9f585icnKzeR8njmzp1qggKChIuLi6iZs2aIiIiQhw8eND8ByfKPr78/HwREREhatasKZydnUVQUJCIiYkR169f19iHKc8fp48hIiJJsPvv0IiISBoYaEREJAkMNCIikgQGGhERSQIDjYiIJIGBRkREksBAIyIiSWCgEdmQ2bNno2XLlur3Y8aMwaBBg8xex9WrVyGTyXDixAmzfzaRLgw0IiN4dup5Z2dn1KtXD++8845eM4NXxqJFi5CYmKhXW4YQSR2njyEykr59+yIhIQGFhYX45ZdfMH78eOTl5WHp0qUa7QoLC402ELJCoTDKfoikgFdoREYil8vh5+eHwMBADB8+HCNGjEBSUpL6NuGqVatQr149yOVyCCGQk5OD1157DT4+PvD09ESPHj3w+++/a+xz3rx58PX1hYeHB8aNG4eCggKN9SVvORYVFWH+/PmoX78+5HI5goKCMHfuXABQz7TQqlUryGQydOvWTb1dQkICGjduDFdXV4SGhpaao+vIkSNo1aoVXF1d0bZtW6ueMZnsF6/QiEzEzc0NhYWFAIBLly7h22+/xaZNm+Do6AgA6N+/P7y8vLBjxw4oFAosX74cPXv2xIULF+Dl5YVvv/0WcXFx+Ne//oXOnTtjzZo1+PLLL1GvXj2dnzlz5kysWLECX3zxBTp16oTMzEycO3cOwNNQCgsLw+7du9G0aVO4uLgAAFasWIG4uDgsXrwYrVq1QlpaGiZMmAB3d3fExMQgLy8PUVFR6NGjB9auXYv09HRMmTLFxP96RAYwaEhjItIQExMjBg4cqH7/66+/Cm9vbzFkyBARFxcnnJ2dRXZ2tnr9nj17hKenpygoKNDYT0hIiFi+fLkQQojw8HDx+uuva6xv3769aNGihdbPzc3NFXK5XKxYsUJrjcWjvaelpWksDwwMFOvXr9dY9tFHH4nw8HAhhBDLly8XXl5eIi8vT71+6dKlWvdFZEm85UhkJNu3b0fVqlXh6uqK8PBwdOnSBV999RUAoE6dOqhZs6a67W+//YZHjx7B29sbVatWVb/S09Nx+fJlAMDZs2cRHh6u8Rkl3z/r7NmzUCqV6Nmzp9413759GxkZGRg3bpxGHR9//LFGHS1atECVKlX0qoPIUnjLkchIunfvjqVLl8LZ2RkBAQEaHT/c3d012hYVFcHf3x8pKSml9lOtWjWDPt/Nza3C2xQVFQF4etuxffv2GuuKb40KzjBFNoKBRmQk7u7uqF+/vl5tW7dujaysLDg5OaFu3bpa2zRu3BiHDx/G6NGj1csOHz6sc58NGjSAm5sb9uzZg/Hjx5daX/ydmUqlUi/z9fVFrVq1cOXKFYwYMULrfps0aYI1a9bgr7/+UodmWXUQWQpvORJZQK9evRAeHo5Bgwbhp59+wtWrV3Hw4EG89957OHbsGABgypQpWLVqFVatWoULFy4gLi4Op0+f1rlPV1dXTJ8+He+++y7+85//4PLlyzh8+DBWrlwJAPDx8YGbmxt27tyJP//8Ezk5OQCePqwdHx+PRYsW4cKFCzh58iQSEhLw+eefAwCGDx8OBwcHjBs3DmfOnMGOHTuwYMECE/8LEVUcA43IAmQyGXbs2IEuXbrg1VdfRcOGDTFs2DBcvXoVvr6+AIChQ4figw8+wPTp09GmTRtcu3YNb7zxRpn7ff/99/H222/jgw8+QOPGjTF06FBkZ2cDAJycnPDll19i+fLlCAgIwMCBAwEA48ePx7///W8kJiaiefPm6Nq1KxITE9Xd/KtWrYpt27bhzJkzaNWqFWbNmoX58+eb8F+HyDAywRvkREQkAbxCIyIiSWCgERGRJDDQiIhIEhhoREQkCQw0IiKSBAYaERFJAgONiIgkgYFGRESSwEAjIiJJYKAREZEkMNCIiEgSGGhERCQJ/we8J72/fbDGRQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1933±0.0262 95CI=(0.1510, 0.2438)\n", - " MSE: 0.0653±0.0154 95CI=(0.0398, 0.0926)\n", - " R2: 0.9303±0.0255 95CI=(0.8826, 0.9639)\n", - "RMSE: 0.2538±0.0303 95CI=(0.1995, 0.3043)\n" - ] - }, - { - "data": { - "image/png": "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NRbP9p6enq6zPTg4WKxevVpn2z//+U8RFRUlhBBiyZIlwsfHR+Tn52tfX7Rokd5jEVkTuxyJJLJlyxZUrVoV7u7uiIqKQocOHfDFF18AAEJDQ1GzZk1t2z/++AP37t2Dr68vqlatqn1kZGTgwoULAIBTp04hKipK5z1KPn/cqVOnUFhYiK5duxpd819//YXMzEyMGTNGp44PPvhAp46mTZuiSpUqRtVBZC3sciSSSOfOnbFo0SK4uroiKChIZ+CHp6enTluNRoPAwECkpKSUOk61atVMen8PD48K76PRaAA86nZs06aNzmvFXaOCK0yRnWCgEUnE09MTTzzxhFFtW7RogezsbLi4uKBOnTp62zRs2BD79+/HiBEjtNv2799v8Jj16tWDh4cHduzYgVdeeaXU68XfmanVau02f39/1KpVCxcvXsRLL72k97iNGjXC119/jb///lsbmmXVQWQt7HIksoJu3bohKioKAwYMwM8//4xLly5h7969mD59Og4dOgQAmDhxIpYvX47ly5fj7NmziI+Px4kTJwwe093dHVOmTMG7776Lr776ChcuXMD+/fuxbNkyAICfnx88PDywbds2XL9+Hbm5uQAe3aydkJCAefPm4ezZszh27BhWrFiBTz/9FAAwdOhQODk5YcyYMTh58iSSkpLw8ccfm/lfiKjiGGhEVqBQKJCUlIQOHTrg5ZdfRv369TFkyBBcunQJ/v7+AIDBgwfj/fffx5QpU9CyZUtcvnwZr7/+epnHfe+99/D222/j/fffR8OGDTF48GDk5OQAAFxcXDB//nwsWbIEQUFB6N+/PwDglVdewX/+8x8kJiYiMjISHTt2RGJionaYf9WqVbF582acPHkSzZs3x7Rp0zB37lwz/usQmUYh2EFOREQywCs0IiKSBQYaERHJAgONiIhkgYFGRESywEAjIiJZYKAREZEsMNCIiEgWGGhERCQLDDQiIpIFBhoREckCA42IiGSBgUZERLLw/+kJDQMs0Wo0AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"measurement_types\": [\n", - " \"pIC50\",\n", - " \"pKd\",\n", - " \"pKi\"\n", - " ],\n", - " \"uniprot_ids\": [\n", - " \"P00533\"\n", - " ],\n", - " \"sample\": 3000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.MorganFingerprintFeaturizer\",\n", - " {\n", - " \"nbits\": 1024,\n", - " \"radius\": 2\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7fce6846ea60>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-morgan1024-EGFR/_output/20231106-105158\",\n", - " \"X\": \"[[[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, ..., 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-morgan1024-EGFR/_output/ligand__MorganFingerprintFeaturizer_nbits=1024_radius=2/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.NeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": 1024\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1777710.0157850.0529210.0088070.9675860.0079240.2292480.019131
test0.1664510.0186110.0415710.0085080.9811310.0057520.2028370.020681
val0.1932610.0262350.0653150.0153760.9303270.0255220.2537690.030277
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2353930.0052190.1033620.0057620.9485920.0027520.3213760.008907
test0.2321050.0073120.1016540.0076530.9497710.0041290.3186070.011975
val0.2386040.0071220.1051680.0082460.9471720.0037960.3240510.012595
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.2498060.0532780.1704120.0793780.8634790.0715410.4012790.096887
test0.2737530.0872420.2103920.1424300.7849350.2243240.4322510.153464
val0.2215590.0618490.1199450.0542890.8932250.0708910.3357530.084941
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:53:44.645164\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:53:44.649391+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "numpy : 1.26.0\n", - "json : 2.0.9\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "kinoml : 0+unknown\n", - "torch : 2.1.0\n", - "awkward: 2.4.6\n", - "pandas : 2.1.1\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:53:44 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 62C P8 21W / 80W | 49MiB / 16384MiB | 12% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1260 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "ffmpeg 4.3 hf484d3e_0 pytorch\n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "gnutls 3.6.15 he1e5248_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lame 3.100 h7b6447c_0 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "libidn2 2.3.4 h5eee18b_0 \n", - "libjpeg-turbo 2.0.0 h9bf148f_0 pytorch\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libtasn1 4.19.0 h5eee18b_0 \n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libunistring 0.9.10 h27cfd23_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "nettle 3.7.3 hbbd107a_1 \n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openh264 2.1.1 h4ff587b_0 \n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchaudio 2.1.0 py39_cpu pytorch\n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/notebooks/ligand-only-smiles-EGFR.html b/docs/_build/html/notebooks/ligand-only-smiles-EGFR.html deleted file mode 100644 index e778b52b..00000000 --- a/docs/_build/html/notebooks/ligand-only-smiles-EGFR.html +++ /dev/null @@ -1,9083 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ligand-only SMILES experiment — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
- - -
-
- -
-

Ligand-only SMILES experiment

-

In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use kinoml.features.ligand.OneHotSMILESFeaturizer, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment.

-
-

1. Featurize the dataset

-

Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.

-

kinoml.dataset.DatasetProvider objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of kinoml.core.BaseMeasurement, each containing a set of .values and a some extra metadata, like the system objects to be featurized here.

-

In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).

-

Available featurizers can be found under kinoml.features.

-
-
[1]:
-
-
-
# If this is the template file (and not a copy) and you are introducing changes,
-# update VERSION with the current date (YYYY.MM.DD)
-VERSION = "2023.11.06"
-
-
-
-
-
[2]:
-
-
-
#fuction to obtain current working path to ouput results
-def main():
-    parameters["HERE"] = str(nbout.parent.resolve())
-
-
-
-
-
[3]:
-
-
-
HERE = _dh[-1] #current path
-
-
-
-
-

✏ Define hyper parameters

-

Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc…)

-
-
[4]:
-
-
-
# Parameters
-DATASET_CLS = "kinoml.datasets.chembl.ChEMBLDatasetProvider"
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv", #your dataset
-    "measurement_types": ["pIC50", "pKd", "pKi"], #the type of measurements you are interested in
-    "uniprot_ids": ["P00533"], #the kinase
-    "sample": 1000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number
-}
-DATASET_KWARGS = {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "sample": 1000,
-}
-PIPELINES = {
-    "ligand": [
-        ["kinoml.features.ligand.OneHotSMILESFeaturizer", {}],
-        ["kinoml.features.core.PadFeaturizer", {"shape": "auto"}],
-    ]
-}
-PIPELINES_AGG = "kinoml.features.core.TupleOfArrays"
-PIPELINES_AGG_KWARGS = {}
-FEATURIZE_KWARGS = {"keep": False}
-GROUPS = [
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: measurement.system.protein.name"},
-    ],
-    [
-        "kinoml.datasets.groups.CallableGrouper",
-        {"function": "lambda measurement: type(measurement).__name__"},
-    ],
-]
-TRAIN_TEST_VAL_KWARGS = {"idx_train": 0.8, "idx_test": 0.1, "idx_val": 0.1}
-
-
-
-

⚠ If you are adapting this notebook to your own dataset, you should not need to modify anything from here 🤞

-
-

Define key paths for data and outputs:

-
-
[5]:
-
-
-
from pathlib import Path
-
-HERE = Path(HERE)
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-# Generate paths for this pipeline
-featurizer_path = []
-for name, branch in PIPELINES.items():
-    featurizer_path.append(name)
-    for clsname, kwargs in branch:
-        clsname = clsname.rsplit(".", 1)[1]
-        kwargs = [f"{k}={''.join(c for c in str(v) if c.isalnum())}" for k,v in kwargs.items()]
-        featurizer_path.append("_".join([clsname] + kwargs))
-
-OUT = HERE / "_output"  / "__".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider
-
-
-
-
[6]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
-

Setup is finished, start working

-
-
[7]:
-
-
-
from warnings import warn
-import os
-import sys
-from pathlib import Path
-from datetime import datetime
-
-import numpy as np
-import awkward as ak
-
-from kinoml.utils import seed_everything, import_object
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 10:15:13.189152
-
-
-
-
-

Load raw data

-
-

This import_object function allows us to take a str containing a Python import path (e.g. kinoml.datasets.chembl.ChEMBLDatasetProvider) and obtain the imported object directly. That’s how we can encode classes in JSON-only papermill inputs.

-

See the help message import_object? for more info. Note that you need an OE license

-
-
-
[8]:
-
-
-

dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS) -dataset -
-
-
-
-
-
-
-
-/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).
-  from pandas.core.computation.check import NUMEXPR_INSTALLED
-
-
-
-
-
-
-
-
-
-
[8]:
-
-
-
-
-<ChEMBLDatasetProvider with 1000 measurements (pIC50Measurement=947, pKdMeasurement=20, pKiMeasurement=33), and 1000 systems (KLIFSKinase=1, Ligand=1000)>
-
-
-
-
[9]:
-
-
-
#visualise your dataset!
-
-df = dataset.to_dataframe()
-df
-
-
-
-
-
[9]:
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
-

1000 rows × 4 columns

-
-
-
-
-

Featurize

-

Now, let’s convert the data set into somehting that is ML-readable!

-
-
[10]:
-
-
-
# build pipeline
-from kinoml.features.core import Pipeline
-
-pipelines = []
-for key, pipeline_instructions in PIPELINES.items():
-    print(f"Building featurizer `{key}` with instructions:")
-    featurizers = []
-    for featurizer_import_str, kwargs in pipeline_instructions:
-        kwargs = kwargs or {}  # make sure empty values (None, "") turn into {} so we can do **kwargs below
-        print(f"  Instantiating `{featurizer_import_str}` with options `{kwargs}`")
-        featurizers.append(import_object(featurizer_import_str)(**kwargs))
-    pipelines.append(Pipeline(featurizers))
-print("Resulting pipelines:", *pipelines)
-aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)
-print("Aggregated pipelines:", aggregated_pipeline)
-
-
-
-
-
-
-
-
-Building featurizer `ligand` with instructions:
-  Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`
-  Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`
-Resulting pipelines: <Pipeline([OneHotSMILESFeaturizer, PadFeaturizer])>
-Aggregated pipelines: <TupleOfArrays([Pipeline([OneHotSMILESFeaturizer, PadFeaturizer])])>
-
-
-
-
[11]:
-
-
-
%%capture --no-display
-# to hide warnings
-
-aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);
-
-
-
-
-
[11]:
-
-
-
-
-[<ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2cc(Nc3ccc(S(N)(=O)=O)cc3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc(-c2ccc(OC(F)(F)F)c(NC(=O)Nc3ccncc3)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CCNc2ncnc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCC(O)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(COc3no[n+]([O-])c3S(=O)(=O)c3ccccc3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCN/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)CCNS(=O)(=O)c1cccc2c(N(C)C)cccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNC(=O)O[C@@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2NC(=O)COCc2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(c(OC)c1)C(=O)N(c1cccc(C(=O)N3CCCCC3)c1)CC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1cc(O)ccc1O)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(Cn2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(O)c(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Cl)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3ccc(NCc4ccc5c(c4)OCCCCO5)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(OCC(F)(F)F)ccnc1COc1ccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)cc3)=NN2C2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOCCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1c(C=O)cccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(CN4CCOCC4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)C[C@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCc4c[nH]cn4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2nccs2)cc(-c2cn(C)cn2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(/C=C/c4cc(OC)cc(OC)c4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(NC(=O)C45CC6CC(CC(C6)C4)C5)cc3C)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Nc2nc[nH]c3nnc(Nc4ccccc4)c2-3)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccccc3)n2)c(OC)cc1N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(C#CCC3CCCC3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(Br)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C(C)(C)C)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(Cl)C(=O)Nc1cc(Nc2nc(C)cc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1Cl)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c(/C=C2\C(=O)Nc3ccc(F)cc32)c(C)c1C(=O)NC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CC(N)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCCC(F)(F)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Br)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(CN(C)C)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)Nc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1C.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cncc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Nc2ncc3ncc(=O)n(-c4ccc(OC)cc4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](CN)n1nc(-c2ccc(Cl)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12)C(=O)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCCCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cc(Nc2ncnc3cc(OC)c(OC)cc23)ccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(Br)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCN4CCOCC4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)c1cccc(NC(=O)c2cc3ccccc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(Br)c(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(Br)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)cc4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nc3cc(NC(=O)CCl)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc2nc(Cc3nnc(-c4ccccc4)o3)[nH]c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2ncnc(Nc3cccc(Br)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc(Nc2ccc(Cl)cc2)ncn1)c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N3CCc4ccccc43)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1c(=O)c(-c2c(Cl)cccc2Cl)cc2cnc(Nc3ccncc3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C(N)=O)c(Cl)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(/C=C/c4cc(C)cc(C)c4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCN(C)CC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc(F)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(NC(=O)c2ccccc2)cc1Nc1nccc(-c2cccnc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)C#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3occc(=O)c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=[N+]=[N-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](c1ccccc1)n1ncc2cc(Nc3ncnn4ccc(COC[C@@H]5CNCCO5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(OC)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4ccccc34)nc(-c3cc[nH]n3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1ccc(CNc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(-c2cnc(Nc3cc(Cl)cc(Cl)c3)nc2NC2CCC(N(C)C)CC2)on1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(Nc3cnc4ccccc4c3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(=Cc1coc2nc(=N)[nH]c(N)c12)c1ccccc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cc2c(N)ncnc2nc1NCCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CC(O)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(CCCC)C(=O)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(S(=O)(=O)NC(=O)Cc2cccc(Br)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3C)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1C(=S)C(C(=O)Nc2ccccc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(-c3cc4c(N[C@H](C)c5ccccc5)ncnc4[nH]3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2ccc(-c3ccc(CN)cc3)cc2c1N[C@@H]1C[C@H]1c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(F)c(O)c1)nn2[C@H]1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(N)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCc1ccc(O)c(Br)c1)/C(Cc1cc(Br)c(O)c(Oc2ccc(CCNC(=O)/C(Cc3cc(Br)c(O)c(-c4cc(C/C(=N\O)C(=O)NCCc5ccc(O)c(Br)c5)cc(Br)c4O)c3)=N/O)cc2Br)c1)=N/O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)Cc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccccc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(/C=C/CCCc3ccccc3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1C#CC(C)(C)N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4ccccn4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3ccc(Cl)cc3Cl)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=N/Nc2ncc(Cl)c(Nc3ccccc3S(=O)(=O)C(C)C)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@H]6CNCCO6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@H]1CN(c2nc(Nc3cnn(C)c3)c3ncn(C(C)C)c3n2)C[C@@H]1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(Cl)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Sc2cccc3[nH]c4nc(N)nc(N)c4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3cn[nH]c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1ccc(Cl)c(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cc(Cl)c(Cl)cc3F)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCN(CCS(C)(=O)=O)Cc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(NC(=O)OCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(OCC(C)(C)C(N)=O)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CO)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1nn(-c2ccc(C)cc2)cc1C(=O)c1c(C)[nH]c(-c2ccccc2)c1-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C/C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccccc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(Nc3ccccc3S(=O)(=O)C(C)C)n2)c(OC)cc1N1CCCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)Nc1nc2nc(N)ncc2cc1-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccccc1Oc1nc(Nc2cc(C)[nH]n2)cc(N2CCN(C)CC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(/C=C/C(=O)c2ccc3ncc(C(N)=O)c(Nc4ccc(Cl)cc4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1COc2cc3ncnc(Nc4ccccc4)c3cc2N1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(/C=C/c2ccccc2)=N\NC(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CCN1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C(=O)Oc1ccc([N+](=O)[O-])cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(F)c(NC(=O)Nc2ccc(-c3cccc4[nH]nc(N)c34)cc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(NC(=O)CCCCCCC(=O)NO)ccc2O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)CCN(C)C)c(NC(=O)/C=C\C(C)C)cc1Nc1nccc(-c2cn(C)c3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Sc3cccc(Cl)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(OCCCCCCC(=O)NO)ccc2O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4ccccn4)c(C)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)c1cccc(Oc2ccc(Nc3ncnc4ccn(CCO)c34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(-c4ccc(CO)o4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CCN(CCO)CC3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C(C)=O)CC2)ccc1Nc1ncc(Cl)c(-c2c[nH]c3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)c2c(c1)Oc1ncnc(Nc3cccc(Br)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn4c5c(cccc35)CCC4)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCN1Cc2cc3c(Nc4cccc(Br)c4)ncnc3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCC(F)(F)F)c1cc(-c2cnn3cc(-c4ccc(OCCN5CCCCC5)cc4)cnc23)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CC(C)N(C)C(C)C5)cc4OC)nc32)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(-c3ccc4ncnc(Nc5ccc(OCc6cccc(F)c6)c(Cl)c5)c4c3)o2)CC1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NP(=O)(OCCCOc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)N(CCCl)CCCl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(CCCCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Cl)c4)c3c2)o1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-n3cccn3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H](Nc1ncnc2sc(Br)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cccc(S(N)(=O)=O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)cnc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(N(C)c3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)N(C)C)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(Nc2ncc3c(n2)N([C@H]2CCN(C(=O)C4CCCCC4)C2)C(=O)N(c2ccccc2Cl)C3)ccc1N1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3ncccc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(Nc2ncnc3ccncc23)c(N)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCc1ccc(-c2ccccc2)cc1)Cc1cn(C)c2ccc(C(=O)Nc3ccc(F)cc3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1C[C@H](COC)[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCN2CCOCC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCCN1CCCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CNC(=O)[C@H]1CCCCN1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CCC(S(C)(=O)=O)CC4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C[S+]([O-])c1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCNCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OB(O)c1ccc(COc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccccc1)cn2-c1ccc(CNCCO)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC(=O)CC4=C(C)/C(=C/c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(C)cc2)CC1c1ccc(C(=O)OCCn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(Nc4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2ccc(OC(F)(F)F)c(NC(=O)Nc3ccncc3)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)OC(=O)n1ccc2cc(-c3nn(C4CCCC4)c4ncnc(N)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccccc3)c2cc1OC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(-c2nn(C(C)C)c3ncnc(N)c23)sc1C=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](Nc1ncnc2cc3oc(=O)n(CCCN4CCOCC4)c3cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(C#CCN1CCOCC1)Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(O)c(C(=O)Nc2ccc(F)c(Cl)c2)cc1NC(=O)CCCCCC(=O)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCC6(CCN(C)C6)C5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NO)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ccn(C)n3)n2)c(OC)cc1N1CCC(N(C)C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCN(C)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCNC2=O)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[S+]([O-])CCCCN=C=S>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2nc(Oc3ccc(Cl)cc3)c(/C=N/NC(=O)Cn3c([N+](=O)[O-])cnc3C)cc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3c2sc2ccc([N+](=O)[O-])cc23)c1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(c2ccc(Nc3nccc(-c4c(-c5cccc(NC(=O)c6c(F)cccc6F)c5)nc5sccn45)n3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(-n2c(SCC(=O)Nc3cnc4ccccc4c3)nc3cc4ccccc4cc3c2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1nc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(C(F)(F)F)c5)cc4)c3c2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(NC(CO)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc([N+](=O)[O-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CNc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cc(Cl)cc(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3cccc(OC)c3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(Cc1coc2nc(N)nc(N)c12)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1)c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(CN2CCCC2)cc1)c1sc2ncnc3c2c1[nH]c(=O)n3-c1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccc4Cl)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2c(C#N)cnc3cc4cc(OCCN5CCOCC5)c(OC)cc4cc23)c(Cl)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2[nH]c3nc(N)nc(NCc4ccccc4)c3c2cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)c1ccc(NN2C(=O)c3c(c4c5cccc(O)c5n(C5OC(CO)C(O)C(O)C5O)c4c4[nH]c5c(O)cccc5c34)C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cn1c(-c2ccccc2)cc(=O)n2ncnc12)NNC(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccccc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)NS(=O)(=O)c2ccc(Br)cc2)c(Cl)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(c3ccccc3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(O)c(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCNc2ncc3cc(-c4c(Cl)cccc4Cl)c(NC(=O)NC4CCCCC4)nc3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)[C@H](C)N)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(N3CCN(C(=O)Nc4ccc(OC(C)C)cc4)CC3)ncnc2cc1OCCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)COc1cccc(Nc2ncc(F)c(Nc3ccc4c(c3)NC(=O)C(F)(F)O4)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(F)c(Cl)c2)c2cc(CCc3ccccc3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3n[nH]c4ccccc34)cc(N3CCN(C(C)=O)CC3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=N/OCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2F)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCCNc2ncc3cc(-c4c(Cl)cccc4Cl)c(=O)n(C)c3n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccc(Cl)cc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(Nc2nnc(Cc3ccncc3)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1CCC(n2nc(-c3ccc(F)c(O)c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCn4ccnc4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4cccc(C(C)=O)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccc(CC(=O)NCCO)cc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@@H]1CCCN1C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)c(F)c4F)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc(Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)c1/C=N/NCC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(CO)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OCC1CCNCC1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCCC(=O)Nc1cc(Nc2ccccc2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4cccc(Br)c4)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(OC)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(F)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OCCC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(C2CC(c3ccc4c(c3)OCCO4)=NN2c2ccccc2)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C3CC3)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)OC[C@]1(C)[C@@H](OC(C)=O)CC[C@@]2(C)[C@H]1CC[C@]1(C)[C@@H]2CC=C2[C@@H]3CC(C)(C)CC[C@]3(C(=O)OCCCCO[N+](=O)[O-])CC[C@]21C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCC(CO)CC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nn1c(-c2ccccc2)nc2ccccc2c1=O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(Cc1cccc(Cl)c1O)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)c1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCCN1CCC([C@H]2CC[C@H](n3nc(-c4ccc5nc(Cc6ccccc6Cl)[nH]c5c4)c4c(N)ncnc43)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(COC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(NC(=O)c3cccc(C(F)(F)F)c3)nc3cc(C)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)nc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2[nH]c3ncnc(Nc4cccc(Br)c4)c3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Cc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(/C=C/c2ccc(F)cc2)=N\Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc([N+](=O)[O-])c1)Nc1ncnc2nn3ccccc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(CCC)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC[C@H](O)CN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC(F)F)c3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCC4CC4)c(Cl)c3)c2cc1NC(=O)[C@@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(C3CC3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cc(NC(=O)c2cccc(NS(=O)(=O)c3ccc(Cl)cc3)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)N1CCN(C(=O)/C(C#N)=C/c2ccc(O)c(O)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)C[C@@H](NC(=O)OC(C)(C)C)C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC1CCN(Cc2ccn3ncnc(Nc4cccc(Br)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(SCCCC(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(=O)[nH]c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3cccc(CC)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(=O)n2nc(SCc3cccc(C(F)(F)F)c3)nc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)CSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1cc2cc(NCc3cc(NC(=O)c4cc(-n5cnc(C)c5)cc(C(F)(F)F)c4)ccc3C)cnc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc4c(cc23)CN4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)[C@H]1COC(=O)N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2oc(-c3ccccc3)c(-c3ccc4c(c3)OCO4)c12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc3c(-c4c(C)[nH]c(-c5ccccc5)c4-c4ccccc4)nnc(C)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-n2c(=O)c(C)nc3cnc(Nc4ccc(OC)cc4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Nc2cc(Nc3ccc(N4CCN(C)CC4)cc3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)Oc1ncnc(Nc3cccc(Br)c3)c1NC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4c(Cl)cc(F)cc34)nc(-c3cn[nH]c3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc(C#N)nc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(N(C)c3cccc(Cl)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN(C(C)C)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=N/NC2=NC(=O)CS2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(C)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cccs1)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc(NC(=O)Nc3nccs3)cc(C(F)(F)F)c2)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)c1ccc2ccccc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1cccc(C(F)(F)F)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(F)cc1)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/N=N/Nc1ccc2ncnc(N(C)c3ccccc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(C)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(O)c(-c2nc(NCc3cccnc3)c3ccccc3n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCNCCS(C)(=O)=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)Nc2ccccn2)cc(-c2cccnc2)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCCOC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCCCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2c(=O)c(-c3ccccc3Br)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCOCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1Cl)c1ccc(N(CCCl)CCCl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)[C@@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncncc3C#Cc3cc[nH]n3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1ccc(Sc2cccc(NC(=S)Nc3ccc(Cl)c(C(F)(F)F)c3)c2)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccccc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C3=NCCCCN3C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCNN1C(=O)c2c(c3c4cccc(O)c4n(C4OC(CO)C(O)C(O)C4O)c3c3[nH]c4c(O)cccc4c23)C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(C)c1-c1cc(C)c2nc(Nc3ccc(OCCN4CCCC4)cc3)nnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CC(=O)N/N=C/c1cc2ccccc2nc1Oc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2ccc(O)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Nc3cccc(F)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=[N+]([O-])c1ccc2sc3c(Nc4cccc(Br)c4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc2ncnc(Nc3cccc(Br)c3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn4c5c(cccc35)CCC4)n2)c(OC)cc1N1CC(CCN(C)C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1cccc([N+](=O)[O-])c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCN(CCO)CCCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(F)cc5s4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c3nc(Nc4ccc(N5CCC(N(C)C)CC5)cc4OC)ncc3c(=O)n3ccnc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(-c2ccccc2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(Nc2nc(N/N=C/c3ccc(F)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1cccc([N+](=O)[O-])c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(OCc2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1c(Br)cccc1CN(Cc1ccc(F)cc1)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C(N)=S)C(c3ccccc3F)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(Cl)C(=O)Nc1cc(Nc2nc3c(c(-c4cn(C)c5ccccc45)n2)CS(=O)(=O)CC3)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCN2c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)/C=C/C(=O)Cc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1ccc(-c2csc(N3N=C(c4ccc(Br)cc4)CC3c3ccc(Br)cc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(NS(=O)(=O)c4ccccc4)cc3)c2cc1NC(=O)/C=C/CN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(C)sc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cc([N+](=O)[O-])nc1C[N+](C)(C)C/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1.[Br-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2nc(NC(=O)c3cccc(C(F)(F)F)c3)n([C@H]3CC[C@H](O)CC3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1oc2ncnc(Nc3cccc(Cl)c3)c2c1C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1ccc(/C=C2\C(=O)Nc3ccccc32)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(Cc2ccc(C(=O)Nc3ccc(-c4cncc(C#N)c4Nc4ccc(F)c(Cl)c4)cc3)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cc(C#N)ccc3n2C)c(C(=O)Nc2ccccc2)c2cc(C#N)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(N4CCC(N5CCN(C)CC5)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OCc2c(Nc3n[nH]c4ccccc34)nc(-c3c[nH]nn3)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C2=C(c3c[nH]c4ccccc34)C(=O)NC2=O)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCc2c(sc3ncnc(N[C@H](CO)c4ccccc4)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CN(C)CCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(N(C)C)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1F)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1)NCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cc(NCCCn4ccnc4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCn1nc(-c2ccc(OCC)c(OC)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1ccc(/C=C(\C#N)C(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cc2nc3cc(Nc4ncnc5nn6ccccc6c45)ccc3[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1c(OCCN2CCCCC2)c2ccccc2c2oc3c(c12)C(=O)c1ccccc1C3=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(-c2cn3ccnc3c(NCc3ccncc3)n2)c1)Nc1cccc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N(CCCl)CCN/N=N/c2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN(C)[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)[C@H]1CCCN1Cc1cc2c(Nc3cccc(Cl)c3F)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSCc2ccccc2Cl)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(NC3CCCCC3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.c1ccc(-c2cccc(Nc3ncnc4cc5c(cc34)OCCCO5)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(C3CC(C(=O)NCCO)C3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(O)cc1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cnc3cnc(Nc4ccc(Cl)cc4)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5nccc(OCC(F)(F)F)c5C)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2[nH]cnc3nnc(Nc4cccc(Cl)c4)c2-3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCN(CCOC)S(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccnc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)N(CCCl)N=O)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN(Cc1cccc(Br)c1O)C(=S)Nc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2ccnc(Nc3ccc(C(=O)N4CCN(C)CC4)cc3OC)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccn3ccnc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCn1c2ccc(OC)cc2c2c(Nc3cccc(Br)c3)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCc2cccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1B1OC(C)(C)C(C)(C)O1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(Cn2ncc3cc(Nc4ncnn5ccc(CN6CCNCC6)c45)ccc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCO.Nc1ccc2sc3c(Nc4ccccc4)ncnc3c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CBr)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2cc(C(=O)c3c(C)[nH]c(-c4ccccc4)c3-c3ccccc3)c(C(=O)Nc3ccccc3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-n2nc(C)c(C3C(C#N)=C(N)N(c4cccnc4)C4=C3C(=O)CCC4)c2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2nc(-c3ccccc3)[nH]c2-c2ccnc3[nH]ccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(NCc3ccc(F)cc3)c2cc1OCC.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(-c2cc3c(N[C@H](C)c4ccccc4)ncnc3s2)c(OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCc1nc(-c2ccc(F)cc2)c(-c2ccnc3[nH]ccc23)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCc1cccc(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2cc3c(Nc4cccc(Br)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nc(Cl)nc(Nc3ccc(S(=O)(=O)Nc4nccs4)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc3ccccc3s2)ccc1Nc1ncnc2cc(OC)c(OC)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(NC3CC3c3ccccc3)c2cc1OCCCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2ncnc(Nc3ccc(OCCN(C)C)c(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3sc(-c4ccc(CO)cc4OC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1C[C@H](C)N[C@H](C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccccc4)c(Cl)c3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(Nc2cc(NC(=O)c3ccccc3)ncn2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(C#C[C@](C)(O)Cc3ccccc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(NC(=O)Nc4ccc(Cl)c(C(F)(F)F)c4)cc3)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc2n1CCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCc4c[nH]cn4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(N/N=C/c1cc(F)c(F)cc1Cl)N1CCc2ncnc(Nc3ccc(F)c(Cl)c3)c2C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(=O)c1ccc(CNC(=O)c2c(SSc3c(C(=O)NCc4ccc(C(=O)OC)cc4)c4ccccc4n3C)n(C)c3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(F)cc2)C(=O)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C(F)(F)F)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCc1cccc(-c2nc(-c3ccc(F)cc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)SCc1cnc(-c3ccccc3)nc1-2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc([N+](=O)[O-])c(C(=O)Nc2ccc(F)c(Cl)c2)cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2[nH]nc3ncnc(NCc4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc([N+](=O)[O-])c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3nc(Nc4ccc(S(N)(=O)=O)cc4)sc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c[nH]c2ccc(Nc3ncnc4cc(-c5ccccc5)sc34)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)n(C(C)C)c(=O)c3cnc(Nc4ccc(N(C)CCN(C)C)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)cc3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C)C(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(SSc2[nH]c3ccccc3c2CCC(=O)O)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(Cn2ncc3cc(Nc4ncnn5ccc(COC[C@@H]6CNCCO6)c45)ccc32)nc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2CC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(Br)s1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)C(C)C5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCOc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3cc(-c4ccc(Cl)cc4)sc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCNc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccc(-c2nc(-c3ccccc3)c(-c3ccnc4[nH]c(-c5ccccc5)cc34)[nH]2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C2\CCC/C(=C\c3ccc(Br)cc3)C2=O)cc(OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2ccccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4C4CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc3ncnc(Nc4ccc(F)c(Cl)c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCn1ccc2ncnc(Nc3ccc(Oc4cccc5[nH]ncc45)c(Cl)c3)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=S)N(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1NC(=O)/C=C/c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)cc3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(C3CCCC3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(=O)c2[nH]c(SC/C(=N/O)c3ccc(Br)cc3)nc2n(C)c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(NC(=O)C2CC2)ccc1Nc1ncc(Cl)c(Nc2ccccc2NC(C)=O)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc4c(cnn4Cc4ccccc4)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(F)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc3c(N[C@H](C)c4ccccc4F)ncnc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(N)C/C=C/C(=O)Nc1cc2c(Nc3cccc(Br)c3)ccnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccccc2N=C=S)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2CC1CCCN1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4cccnc34)n2)c(OC)cc1N(C)CCNC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)SCC(CSC(C)=O)C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c(C#N)cnc2cc1OC[C@H](O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCC(NC(=O)c2cnc(Nc3cc(Cl)cc(Cl)c3)nc2N[C@@H]2COC[C@H]2O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(N[C@@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C1CCN(c2ccc(Nc3cc4c(N5CCOCC5)nc(Nc5ccc(F)cc5)nc4cn3)nc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1ccc2nccc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCCCNc1cncc(-c2cncc(Nc3cccc(Cl)c3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C(\C)C(O[C@@H]1O[C@H](CO)[C@@H](O)[C@H](O)[C@H]1O)C(C)/C=C(C)/C=C/CC(C)/C=C/c1oc(OC)c(C)c(=O)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(Nc2cccc3[nH]ccc23)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3cnc(NCCN4CCOCC4)nc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(c1ccccc1)c1cc2ncnc(Nc3ccc4[nH]ccc4c3)c2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3nccnc3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3sc4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(-c2ncn(C3CCN(Cc4ccccc4)C3)c2-c2ccc3[nH]ncc3c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3cc(C)[nH]n3)cc(N3CCN(C)CC3)n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(Nc2ccc(S(=O)(=O)Nc3ncccn3)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccc(O)cc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N(C)c2ccnc3ccc(C(F)(F)F)cc23)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(C#CCO)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4cc[nH]n4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1OC1CCN(S(C)(=O)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NCc4ccccc4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(C)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1ccnc(Nc2ccccc2OC)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1ccc(Cl)cc1)NS(=O)(=O)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)[C@@H](c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1cc2c(cc1O)[C@@H]1c3ccc(O)c(O)c3OC[C@]1(O)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=C/C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(OC)cc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(C)=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCCCNc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Oc2nc3ccc(C)cc3cc2/C=N/NC(=O)Cn2c([N+](=O)[O-])cnc2C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(C#N)c3)ncnc2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc2cnc(Nc3ccnc(N4CC[C@H](O)[C@H](F)C4)n3)cc2n1C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(NCc3ccccc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/N=C/c2c(N)ncnc2Nc2ccc3c(cnn3Cc3cccc(F)c3)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)COCc1ccn2ncnc(Nc3ccc4c(cnn4Cc4cccc(F)c4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC[C@H]1Oc2cc3ncnc(Nc4cccc(Cl)c4)c3cc2O[C@@H]1COC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(Nc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)c(F)c3)ncnc2cc1OCCOCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCNC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3cccc4ccccc34)C2)cc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc2nc(NC(=O)c3cccc(C(F)(F)F)c3)n([C@H]3CC[C@H](O)CC3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(-c3ccccc3)sc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(-c3ccc(N4CCNCC4)nc3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2cccc([N+](=O)[O-])c2)C(c2ccc(O)cc2O)NC(SCc2ccccc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN/N=C/c1c(N)ncnc1Nc1ccc2c(cnn2Cc2cccc(F)c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2cn(-c3ccc(CNCCO)cc3)c3ncnc(N)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1nnc(SCc2ccccc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(Cc2ccc(NC(=O)Nc3ccc(Oc4cc(NC)ncn4)cc3)cc2C(F)(F)F)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Nc1ncnn2ccc(CN3CCC(N)CC3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc2sc(SCc3cc(/C=C(\C#N)C(N)=O)cc(OC)c3O)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2ncc(Cl)c(-c3c[nH]c4ccccc34)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cc(OC)ccc3F)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc(F)cc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cc(Cl)ccc3F)c2cc1OC1CCN(S(C)(=O)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)NCCN(C)C)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2[nH]c(-c3ccc(Br)cc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1NC(=O)CC1CCSS1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(N2Cc3cnc(Nc4ccccc4)nc3N([C@H]3CC[C@H](O)C3)C2=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cnc(N(C)C)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CC1C(S)=Nc2ccccc21)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2ncnc3[nH]cnc23)ccc1-c1nc2ccccc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(-c4nc5ccc(Cl)cc5s4)cc3F)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCCCCCn1cc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)nn1)NO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)C1CCSS1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCOC(=O)/C=C/C(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccccc1Cl)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1)NN1C(=O)c2c(c3c4cccc(O)c4n(C4OC(CO)C(O)C(O)C4O)c3c3[nH]c4c(O)cccc4c23)C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nnc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(N(C)c3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1CN(C)[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc2c(cc1[N+](=O)[O-])OCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(-c3c[nH]c4cc(F)c(Cl)cc34)c2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(Oc4ccc(C)nc4)c(Cl)c3)c2cc1NC(=O)/C(F)=C\CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1=C(C(=O)Nc2ccc(C)cc2)C(c2ccc(O)cc2O)NC(SCc2ccccc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1[nH]cnc2nc(-c3ccccc3)cc1-2)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c2cc1NC(=O)/C=C/CN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(NC(C)=O)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5ccccc5)c(Br)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3ccc(F)c(C#N)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2cc[nH]n2)nc(-c2ccccc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(O)C#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(-c5ccccc5)nc4-c4ccc(F)cc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cccc(Nc2ncnc3ccncc23)c1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(F)cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)S(=O)(=O)c1ccccc1Nc1nc(N/N=C/c2ccc(OC(F)(F)F)cc2)ncc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc4c(ccn4CC(C)C)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CBr)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccc(Cl)cc4)cs3)C(c3ccc(O)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)cc2)CC1c1cccc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc2ncncc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#CCOc1ccc(CNC(C)C)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)O[C@@]12CO[C@@H]1C[C@H](O)[C@@]1(C)C(=O)[C@H](O)C3=C(C)[C@@H](OC(=O)[C@H](O)[C@@H](NC(=O)OC(C)(C)C)c4ccccc4)C[C@@](O)([C@@H](OC(=O)c4ccccc4)[C@@H]12)C3(C)C.O.O.O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCC#Cc1ccc2ncnc(Nc3ccc(F)c(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(N)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCSC(=S)N1CCN(c2ccccc2)CC1)Nc1cccc(NC(=O)c2ccccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1Cc1cc2c(Nc3cccc(Br)c3)nc(N)nc2n1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc(C#N)c(Nc2ccc(OCc3ccccn3)c(Cl)c2)c1C#Cc1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Cl)c(O)c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C(=CNc1ccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c2c1)C(=O)OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1Nc1cc[nH]c(=O)c1C(=O)Nc1ccc(N2CCC(C)CC2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1c(C(=O)OCCCn2ccnc2)cn2ncnc(Nc3ccc4c(cnn4Cc4ccccc4)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)N1CCc2c(sc3ncnc(NCCO)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c(-c3ccccc3OC)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc(NCCc4c[nH]cn4)ncc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc(Oc2cc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(/C=C/C(=N/NC(N)=S)c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc(-c2cncc(C#N)c2Nc2ccc(F)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)C(=O)Nc1nc(Nc2ccccc2)c2c(n1)[nH]c1cccc(Cl)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCC)c(NC(=O)/C=C/CN(C)C4CC4)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCCC(=O)Nc1ccc2nccc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cc(Cl)ccc3F)c2cc1OC1CCN(CC(N)=O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1ccc2ncc(C#N)c(Nc3cccc(Br)c3)c2c1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl)ccc2c1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1cccc(F)c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Br)c(Br)c2)CC1c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2c(C)nc(Nc3nc(O)cc(CSc4nnnn4-c4ccccc4)n3)nc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(ON2CCC(C)CC2)c2c(Nc3ccc(OCc4ccccn4)c(Cl)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc2ccc(-c3nn(C(C)C)c4ncnc(N)c34)cc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3cc(-c4ccccc4)ncn3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)C(c4ccccc4)N4Cc5ccccc5C4=O)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Nc1ncnc2sc(-c3cccc(C(=O)NCCN(C)C)c3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC/C=C\C(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCC(O)CN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn([C@@H]3CCNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)n1nc(-c2ccc(Cl)cc2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(Nc2ncnc3c2NCc2cc(Cl)ccc2O3)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC(OC)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnc3cc(OC(C)C)c4c(c23)OCCO4)cc1C#N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc(Oc3ccccc3)cc1)cn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccccc1)nn2-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2cc3c(cc2c1Nc1cccc(Br)c1)OCCCO3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC1CCCN1CC#CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(Cl)c(F)c3)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)cc3C)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1ccccn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(NC(=O)c3ccc(OC)c(OC)c3)n2)c(OC)cc1N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNCc1cc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)cs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Nc2ncnn3c(C)ccc23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC(=O)CSc1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nc(=O)c3c([nH]2)sc2ccc(C)cc23)ccc1OCC(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2nn(C3CNC3)c3ncnc(N)c23)cc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(O)c([N+](=O)[O-])c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnn3ccc(CN4CCC(N)CC4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@H](Nc1cnc(-c2cc(Cl)ccc2O)c(-c2ccc3cnccc3c2)c1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CO)NC1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1ccc(-c2nn(C3CCCCC3)c3ncnc(N)c23)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)Oc1cc(/C=C(\C#N)C(=N)S)cc(C(C)(C)C)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2csc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5ccc(Cl)cc5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1coc2ncnc(N(C)c3ccc(N(C)C)cc3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CNCCCO)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CS(=O)(=O)N1CCC[C@@H]1Cn1cc(-c2ccc3c(c2)OCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(=O)c2ccc(O)c(O)c2)cc(CSCc2ccccc2)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2cc(-c3[nH]c(SCCNC(=O)CC)nc3-c3ccccc3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(C)c(C)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)CCN(C)C)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(C(F)(F)F)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](Oc1cccc2ncnc(Nc3ccc4c(cnn4Cc4nccs4)c3)c12)C(=O)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1cc(O)cc(O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(Cl)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncnc(-c3cn(C)c4ccccc34)c2OC)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=[N+]=[N-])cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCNCCN>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2ccc(N=C=S)cc2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3cc4c(cc23)N(CCCN2CCOCC2)C(=O)CO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CCOc1ccc2ncnc(Nc3ccc(OCc4ccccc4)cc3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(Nc3ccccc3-c3ncn(C)n3)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=COC(=O)N(CCN(C)C)/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(/C=C/c4cc(Cl)cc(Cl)c4)cc3)ncc2F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(-c5ccsc5)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2ccccc2F)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1ccc(C2=NN(c3ccccc3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccccc1)Nc1nnc(-c2cccnc2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)c1ccccc1Nc1nc(N)nc2[nH]c(Cc3ccc(Cl)cc3Cl)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1)c1cccc2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#CCCCCOc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)c1cc2ncnc(Nc3cccc(Br)c3)c2cc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCN2CCOCC2)[nH]c2cnnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)N1CCN(CCC(=O)Nc2cccc(Oc3nc(Nc4ccc(N5CCN(C)CC5)cc4OC)ncc3Cl)c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1c(C(=O)NCCCN2CCN(C)CC2)[nH]c2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Br)c3)c2cc1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)CCC(=O)O)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1/C(=C\c2ccc(O)c(O)c2)Oc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@H](N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCc1cc(Nc2nccc(-c3c(-c4cccc(C(=O)Nc5c(F)cccc5F)c4)nc4ccccn34)n2)c(OC)cc1N1CCC(N2CCN(S(C)(=O)=O)CC2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(c3nc(-c4ccccc4)cs3)C(c3ccc(Br)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc2c(c(Nc3cccc(Br)c3)n1)-c1ccccc1C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCC(=O)ON[C@H](CS(C)(=O)=O)c1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C(=O)O[C@H]1CN[C@@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCn1c(=O)oc2cc3ncnc(Nc4ccc(OCc5ccccn5)cc4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(C)c(-c2cc3cnc(NCCCN4CCN(C)CC4)nc3nc2NC(=O)NC(C)(C)C)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2Cl)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Nc2cc(Nc3ccc(F)cc3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(NC(=O)CCC(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1cc2cc(C)ccc2n2nnnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(Cl)cc3F)ncnc2cc1OC[C@@H]1CCCN(C)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4Cl)cc3)ncnc2cc1OCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1c[nH]c2ccccc12)NNC(=S)Nc1ncccc1Br>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(N2CCN(C)CC2)ccc1Nc1ncc(Cl)c(Oc2cccc(NC(=O)/C(C#N)=C/c3ccc(F)cc3)c2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(NC3=CC(=O)C(OCc4cccc(F)c4)=CC3=O)c2cc1NC(=O)/C=C/CN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc(Cl)cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCN1C(=O)CS/C1=N/Nc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)=CC[C@@H](OC(=O)/C=C\C(=O)c1ccc(C)cc1)C1=CC(=O)c2c(O)ccc(O)c2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccccc1-c1cn(-c2ccccc2)c2ncnc(N)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc4ccccc4c3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1N=C(N2CCC[C@H]2C(=O)Nc2ccc3ncnc(Nc4cccc(Cl)c4)c3c2)S/C1=C/c1cccs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(C)Cc3cnc(Nc4ccc(N5CCCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=C(CN1CCOCC1)C(=O)c1ccc(OCc2ccccc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(Nc2ncnc3ccncc23)c1N>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(=O)Nc1cccc(Nc2nccc(-c3cccnc3)n2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)C1=C(N)N(c2cccnc2)C2=C(C(=O)CCC2)C1c1c(C)nn(-c2ccccc2)c1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C2CC(c3ccc(Cl)c(Cl)c3)=NN2C(N)=S)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2cc1OCCCN1CCNCCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CO)cc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)C(c1cc(F)ccc1O)N1Cc2ccc(-c3ccc(N4CCNCC4)cc3)cc2C1=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCc1cn(Cc2cccc(F)c2)nn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cc(F)cc(NC(=S)Nc2ccc3ncnc(Nc4cccc(Br)c4)c3c2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OCCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(NC(=O)c2cc(NC(=O)CCCCCC(=O)NO)ccc2OC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCC[C@@H]1C#Cc1cc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cn(-c3ccccc3)c3ncnc(N)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc2c(NCc3ccccc3)nc(NCCO)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccc(F)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C(=O)N(C)[C@H]2C[C@@H]3O[C@](C)([C@H]2OC)n2c4ccccc4c4c5c(c6c7ccccc7n3c6c42)C(=O)NC5)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(c2ccc(NC(=O)c3c(Nc4ccccn4)cc[nH]c3=O)cc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN3CCOCC3)ccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(CCc3cccc4ccccc34)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)C/C=C/C(=O)N1CCCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)c1c(SSc2c(C(C)=O)c3ccccc3n2C)n(C)c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1ncc(C(=O)NC2CCN(C)CC2)c(NC2CCCC2)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@@H](n2nc(-c3cnc4[nH]ccc4c3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)/C=C/C(C)N(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nn(-c2ccccc2)c(Cl)c1C1C(C#N)=C(N)N(c2cccnc2)C2=C1C(=O)CC(C)(C)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1ncc2cc(Nc3ncnn4ccc(CN5CCC(N)CC5)c34)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1c(C)[nH]c(/C=C2\C(=O)Nc3ccc(Br)cc32)c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(CO)NCc1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Clc1cccc(Nc2ncnc3cc4c(cc23)OCCOCCOCCO4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CO[C@H]1[C@@H](N(C)C(=O)c2cccnc2)C[C@@H]2O[C@@]1(C)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc([N+](=O)[O-])cc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCNc1ccc2c(Nc3cccc(Br)c3)ncnc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1cncc(-c2nnc(Cc3nc4ccccc4[nH]3)o2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4ccccc4C(F)(F)F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC(O)CN(C)[C@H]1C[C@@H]2O[C@](C)([C@H]1OC)n1c3ccccc3c3c4c(c5c6ccccc6n2c5c31)C(=O)NC4>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1nccs1)Nc1cc(-c2cccnc2)ccc1OC(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCCN2c1nc(C)nc2oc(C)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1C#Cc1ccc(CNCCS(C)(=O)=O)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)c1cc2cnnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Cc1cccc(Br)c1)NS(=O)(=O)c1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccncc1)Nc1cc(-c2cncnc2)cc(C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(F)cc3Cl)ncnc2cc1OCCOCCNC(=O)Cn1cnc([N+](=O)[O-])n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc(Br)c(O)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3cccc4ccccc34)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-c2c[nH]c3nccc(-c4[nH]c(CCCO)nc4-c4ccc(F)cc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1)C1CCC2(CC1)OCC1(OO2)C2CC3CC(C2)CC1C3>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1ccc(Cl)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(-c2cc3ncnc(Nc4ccc5[nH]ccc5c4)c3s2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(O)CO)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)n(C)c(=O)c3cnc(Nc4ccc(N5CCSCC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CCN(Cc2ccn3ncnc(Nc4ccc5c(cnn5Cc5cccc(F)c5)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)Cn1/c(=N/C(=O)c2cc(F)cc(-c3cccnc3)c2)[nH]c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncc([N+](=O)[O-])n1CCOC(=O)/C=C/c1cccc(F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(F)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N1N=C(c2ccc(Cl)c(Cl)c2)CC1c1ccccc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#Cc1cnc2c(Cl)cc(NCc3c[nH]nn3)cc2c1Nc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N2N=C(c3ccc(Cl)cc3)CC2c2ccc(Cl)cc2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Nc2ncnc(Nc3ccc(F)c(Cl)c3)c2/C1=C/c1ccc(C(=O)NCCN2CCOCC2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cccc(Cl)c1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cccc(Nc2nc(N/N=C/c3cn(Cc4ccccc4)c4ccccc34)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cccc(Nc2ncnc3cc(OCCCN4CCOCC4)ccc23)c1)Nc1ccc(F)c(Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)NC(Cc1c(SSc2[nH]c3ccccc3c2CC(NC(C)=O)C(=O)NCc2ccccc2)[nH]c2ccccc12)C(=O)NCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3ccc(F)cc3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc2cc(Nc3ccnc4cc(-c5ccc(CN6CCOCC6)cc5)sc34)ccc2[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=CC=C2N=CN=C(Nc3cccc(Cl)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c(SSc2[nH]c3ccccc3c2C(=O)NC)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C(\C#N)C(N)=O)cc(CSc2ccccc2C(=O)O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NCCSc1nc(-c2ccc(F)cc2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(Nc1cccnc1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=S(=O)(O)CCNc1cc2ncnc(Nc3cccc(Br)c3)c2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2ccc3c(c2)OCCO3)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc2c(c1)CCCN2c1nc(C)nc2c(Cc3ccccc3)c[nH]c12.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(-c5ccc(CNCc6ccccc6)o5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-c2ccc3c(c2)NC(=O)/C3=C\c2[nH]c3c(c2CCC(=O)O)CCCC3)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1cccc(O)c1)cn2C1CCNC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1)N1CCC2(CC1)OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCn1c(=O)oc2cc3ncnc(Nc4ccc(F)c(F)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1c(-c1ccc3[nH]ccc3c1)nn2C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc4c(cnn4Cc4ccccc4)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(Oc2ccc(Nc3ncnc4[nH]nc(OCCN5CCC(O)CC5)c34)cc2C)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1cccc2c(Nc3cccc(Br)c3)ncnc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC/C=C\C(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccc(F)cc34)n2)c(OC)cc1N(C)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(C4SCC(=O)N4NC(=O)Nc4ccc(F)cc4)cc3)ccnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)CCc1c(/C=C2\C(=O)Nc3ccc(C(=O)O)cc32)[nH]c2c1CCCC2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.NCCNC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cccc(Nc2ncnc3[nH]c4c(c23)CCCC4)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC(CN(C)C/C=C/C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1)OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(N2NC(=O)/C(=C/c3ccc(OCc4ccccc4)cc3)C2=O)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)N(CC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCN(CC#N)Cc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(Oc6ccccn6)cccc5c4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1nc(N(C)c2ccc(OC(C)C)cc2)c2cc(C)oc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc(C(F)(F)F)c4)c(Cl)c3)c21)S(C)(=O)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(-n2c(=O)cc(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)ccc1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C)c(O)c(CN(Cc2ccc(O)cc2)C(=O)Nc2ccccc2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(Br)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC1(C)OOC2(CCC(C(=O)Nc3ccc4ncnc(Nc5cccc(Cl)c5)c4c3)CC2)OO1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4ccc(NC(=S)NCCCN5CCOCC5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nncc3ccccc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Cc2ccc(Oc3ccc(Nc4ncnc5ccn(CCO)c45)cc3Cl)cc2N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4cccc(F)c4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2nccc(Nc3cccc(Br)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(Nc1cc(-c2cccnc2)cc(C(F)(F)F)c1)Nc1nccs1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(C/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN=C(S)NNc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2c3c4cc(OCCCN(C)C)c(OCCCN(C)C)cc4oc(=O)c3n3ccc4cc(O)c(OC)cc4c23)cc1O.O=C(O)C(F)(F)F.O=C(O)C(F)(F)F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)[C@@](C)(C#Cc1ncnc2cc(OC)c(OC)cc12)Cc1ccncc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc2c(Nc3cccc(Br)c3)ncnc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3ccc(OCCCCOP(N)(=O)N(CCCl)CCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2CC(c3ccc(Br)cc3)=NN2c2nc(-c3ccccc3)cs2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(-c3c[nH]c4cc(F)c(Cl)cc34)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=C1CCc2cc(O)c(O)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(OC)c(Nc2cc(-c3[nH]c(SC)nc3-c3ccc4ccccc4c3)ccn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](COc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc(Nc2ncnc3ccc(NC(=O)NCCCl)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-c2cc(NC(=O)Nc3ccccn3)cc(OC)c2OC)cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccc(C(=O)O)cc3)c3ccccc3n2C)c(C(=O)Nc2ccc(C(=O)O)cc2)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCCCCn1ccnc1[N+](=O)[O-]>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O[C@H]1CN[C@H](C#Cc2cc3ncnc(Nc4ccc5c(c4)c(F)cn5Cc4ccccc4)c3s2)C1)N1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=S=C(NCc1ccccc1)Nc1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)Oc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2c2c1OCCO2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cccc2nc(NC(=O)c3ccnc(C(F)(F)F)c3)n([C@@H]3CCCCN(C(=O)/C=C/CN(C)C)C3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(-c4nc5ccccc5s4)c(F)c3)c2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1-c1cc2c(N[C@H](C)c3ccccc3)ncnc2o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Nc2nccc(-c3ccc(NCCN)nc3)n2)cc(OC)c1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OC(=O)CSc1nc2cc(OC)ccc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCO)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc4sccc34)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)Nc4ccc(Cl)cc4)c(Cl)c3)ncnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1cnc2c(Nc3cccc(Cl)c3)nc(N[C@@H]3CCCC[C@@H]3N)nc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C(=O)c1ccc(N(CCCl)CCCl)cc1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)CCOc1ccc(Nc2ncc3nc(Sc4ccc(F)cc4)n(C4CCOCC4)c3n2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[S+]([O-])CCNCc1ccc(-c2ccc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3c2)o1.Cc1ccc(S(=O)(=O)O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Cc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CS(=O)(=O)CCNC(=O)C1=Cc2c(ncnc2Nc2ccc(Oc3cccc(C(F)(F)F)c3)c(Cl)c2)NCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN(CCO)CCO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1OCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(CC(=O)NCCCOc5no[n+]([O-])c5S(=O)(=O)c5ccccc5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ncnc(Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)c1/C=C/c1ccc(CNCCS(C)(=O)=O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ncnc2c1cnn2-c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(Nc2ncnc3cc4oc(=O)n(CCCN5CCOCC5)c4cc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(/C=C/[N+](=O)[O-])ccc1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)N(Cc3ccccc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2nccc(-c3cn(C)c4ccccc34)n2)c(OC)cc1S(=O)(=O)CCN(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)CN(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(C(=O)N2CCOCC2)[nH]c1/C=C1\C(=O)Nc2ncnc(Nc3ccc4c(c3)CCC4)c21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCCOc1cc2ncnc(Nc3cc(OC)c(OC)c(OC)c3)c2cc1OCCOC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(Cc4ccccn4)cc3)c2cc1NC(=O)/C=C/CN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1(CCN)CCN(c2nccc(Nc3cc4c(cn3)nc(C)n4C(C)C)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=c1c2ccc(Cl)cc2nc(-c2ccccc2)n1-c1nnc(C2CC2)s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1CNc1nc(N)nc2[nH]c3cc(C)c(O)cc3c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CCCl)CCN/N=N/c1ccc2ncnc(Nc3cccc(Cl)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@H](COc1cccc2ncnc(Nc3ccc(OCc4ccccn4)c(Cl)c3)c12)N(C)C(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1[nH]c2ncnc(Oc3cccc(Cl)c3)c2c1C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(n1)[nH]c1cccc(Sc3cccc4ccccc34)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN1CCN(C(=O)c2cc(C)c(/C=C3\C(=O)Nc4ncnc(Nc5ccc(F)c(Cl)c5)c43)[nH]2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(N4CCN(C(C)=O)CC4)c(OC)c3)ncc2C(F)(F)F)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(/C=N/NC(=O)N2CCc3ncnc(Nc4cccc(C(F)(F)F)c4)c3C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cccnc3n2C)c(C(=O)Nc2ccccc2)c2cccnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CCC[C@@H](n2nc(-c3cn(-c4ccc(C(C)=O)cc4)nn3)c3c(N)ncnc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(Cl)c3F)c2cc1CN[C@H](C)C(N)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C=C(\C)C(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3c(F)cc(Br)cc3F)ncnc2cc1OCC1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2cnnc(Nc3ccc(Cl)cc3F)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=O)c1cnc2ccc(C(=O)/C=C/c3ccc(Cl)cc3)cc2c1Nc1ccc(Br)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#C/C(=C\c1ccc(O)c(O)c1)C(=O)NCCCc1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCOC(=O)Nc1ccc(Nc2ncnc3cc(OC)c(OC)cc23)cc1Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1NCCc2cc(Br)c(O)c(c2)Oc2c(Br)cc(cc2Br)CCNC(=O)/C(=N/O)Cc2cc(Br)c(O)c(c2)Oc2c(Br)cc(cc2Br)C/C1=N\O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(-n2c(=O)cnc3cnc(Nc4cccc(N)c4)nc32)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)c1cn2ncnc(Nc3ccc(F)c(Cl)c3)c2c1CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OCCOC(=O)CC4=C(C)/C(=C\c5ccc([S+](C)[O-])cc5)c5ccc(F)cc54)c(OCCOC)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCNC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1O[C@H]1CCOC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)C(=O)Nc1nc(Nc2cccc(C(F)(F)F)c2)c2cc(CCc3ccccn3)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1Nc2ccccc2/C1=C/c1cc2c([nH]1)CCC(Br)C2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC(Oc2nc(Nc3ccc(N4CCOCC4)cc3)nc3[nH]cc(-c4ccnc(NC)c4)c23)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(N2C(=O)C(Cc3ccc(Cl)cc3)N(C)C(=O)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCC(F)(F)C1)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc4[nH]c(C)cc4c3F)ncnc2cc1OCCCN1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCC1)Nc1cc2c(Nc3ccc(Cc4ccccn4)cc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CCC[C@H]1COc1nc(Nc2ccc(N3CCN(C(C)=O)CC3)cc2)nc2[nH]cc(-c3cncc(NC)n3)c12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ncc2ncnc(Nc3ccccc3)c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4ccccc4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21)S(C)(=O)=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)NNc1nncc2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(O)/C=C/C(=O)Nc1cccc(-c2c(-c3ccccc3)oc3ncnc(N[C@H](CO)c4ccccc4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccc(O)c(O)c1)c1ccc(O[C@@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)c(O)c1O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCC#CC(=O)Nc2cc3c(Nc4ccc(F)c(Cl)c4)ncnc3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/c1ccccc1)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)Nc1cc2c(Nc3ccc(NS(=O)(=O)c4ccccc4)cc3)ncnc2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NS(=O)(=O)c1ccc(F)cc1)c1cncc(Br)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(C#N)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(/C=C2\CCC/C(=C\c3cc(OC)cc(OC)c3)C2=O)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C)cc3F)ncnc2cc1OCC1CCNCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(/C=C/CN1CCCCC1)N1CCOc2cc3ncnc(Nc4ccc(F)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(C2=NN(C3=NC(=O)CS3)C(c3ccc(F)cc3)C2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=[N+]([O-])c1cccc(-c2[nH]nc3ncnc(Nc4cccc(Cl)c4)c23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NC(=O)/C=C/CN(C)C)cc1Nc1ncc(Cl)c(-c2cnn3ccccc23)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc2c(Nc3cccc(Br)c3)ncnc2cc1SCCCN(CC)CC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(O)C(=O)NCCn1ccc2ncnc(Nc3ccc(Oc4cccc5sncc45)c(Cl)c3)c21.CS(=O)(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(-n2c(=O)c(-c3ccccc3)c(C)c3cnc(Nc4ccc(N5CCN(C)CC5)cc4OC)nc32)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccc(C)cc3)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N1CC[C@@H](Nc2nc(Nc3cnn(C)c3)nc3[nH]cc(Cl)c23)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(ccn4C(C)C)cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCN1CCOCC1)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(CC(=O)O)c1c(Br)cccc1Nc1ncnc2ccncc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CCNCc1ccc(-c2cc3ncnc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)c3s2)o1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cccc(-n2cc(NC(=O)c3ccc(NS(=O)(=O)c4ccccc4)cc3)cn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1nc(-c2ccc3cc[nH]c3c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1cnc2c(F)c(Nc3ccc(Br)cc3Cl)c(C(=O)NOCCO)cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NC1=NC=C2N=CN=C(Nc3cccc(C)c3)C21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1cc(F)cc(Nc2cc(NC(=O)Nc3c(Cl)cccc3Cl)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCCCl)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCN1CC2(CSC2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NS(=O)(=O)c4cc(F)ccc4F)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=c1ccc(CNc2ccnc3oc4ccccc4c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(N)c2c(Nc3cccc(Cl)c3)[nH]nc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3ccccc3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(O)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Oc1ccccc1-c1nc(NCc2cccnc2)c2ccccc2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NC(=S)N/N=C(/C=C/c1ccc([N+](=O)[O-])cc1)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncnc(Nc3cccc(-c4ccccc4)c3)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COCC(=O)Nc1ccc2ncnc(Nc3cccc(Br)c3)c2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2cc(Nc3cccc(Br)c3)ncn2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(/C=C/C(=O)Nc2cccc(Oc3cc(Nc4ccc(OCc5cccc(F)c5)c(Cl)c4)ncn3)c2)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4cc(-c5ccc[nH]5)sc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OCCc1nc(-c2ccc(F)cc2)c(-c2ccnc3[nH]c(-c4ccccc4)cc23)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C#Cc1cccc(Nc2ncnc3cc(OC)c(OCCCCC(=O)NO)cc23)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C/C(=N\Nc1ncc(Cl)c(Nc2cccc(NC(=O)/C=C/CN(C)C)c2)n1)c1ccc(F)cc1F>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3cc(Oc4ccccc4)ncn3)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1NC(=O)c1cccnc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Brc1cc2c(NCc3ccncc3)ncnc2s1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCn1c(-c2nc(-c3cnn(C4CCN(C)CC4)c3)cnc2N)nc2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2ccc(Cl)cc2F)c2cc(Cc3ccc(Cl)cc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C1CSC(N/N=C/c2cccc([N+](=O)[O-])c2)=N1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Oc3ccc(NC(=O)c4cn(-c5ccccc5OC)cn4)cc3F)ccnc2cc1OCCCN1CCN(C)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNC(=O)c1c([Se][Se]c2c(C(=O)NC)c3ccccc3n2C)n(C)c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)N(c1ccc(F)c(C)c1)c1ncnc2cc(OC)c(OCCCN3CCOCC3)cc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCN(CC)CCOc1c(C(=O)OC)c2c3c(oc2c2ccccc12)C(=O)c1ccccc1C3=O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCc1ccccc1)c1c(SSc2[nH]c3ccccc3c2C(=O)NCc2ccccc2)[nH]c2ccccc12>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(NC(=O)Nc2nc(Nc3ccc(N4CCC(N5CCOCC5)CC4)cc3OC)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1nc2c(Nc3ccc(F)c(Cl)c3)ncnc2cc1CCCCN1CCOCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(N/N=C(\C)c3ccc(C)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(=O)N1CC[C@H](Nc2nc(Nc3ccc(N4CCN(C)CC4)cc3)c3ncn(C(C)C)c3n2)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=N#CC(C#N)=Cc1ccc(O)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(CCOc2ccc3c(c2)c(CCN)cn3CCCCCc2ccc(SC)cc2)cc1.Cl>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1ccc(-c2cc(=O)c3cc(N)c(O)cc3o2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=OC[C@@H](Nc1ncnc2sc(-c3ccccc3)cc12)c1ccccc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1ccc(N(C)c2ncnc3occ(C)c23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCC(=O)N1CC[C@H](N2C(=O)N(c3cccc(OC)c3Cl)Cc3cnc(Nc4ccc(N5CCN(C)CC5)c(C)c4)nc32)C1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc2c(c1)CNc1c(Nc3cccc(Br)c3)ncnc1O2>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN(C)C/C=C/C(=O)Nc1ccc(-c2cncc(C#N)c2Nc2ccc(OCc3cccc(F)c3)c(Cl)c2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(OC)c(Cc2cc3c(Nc4ccc(Cl)cc4F)nc(N)nc3[nH]2)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)NCCSc1nc(-c2ccc(F)c(C(F)(F)F)c2)c(-c2ccnc(Nc3ccccc3)c2)[nH]1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOC(=O)CCCC(=O)Nc1cc(Nc2cccc(Cl)c2)ncn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC[C@@H]1C(=O)N(C)c2cnc(Nc3ccc(C(=O)NC4CCN(C)CC4)cc3OC)nc2N1C1CCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4cn3)n2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2ncc(C#N)c(Nc3cccc(Br)c3C)c2cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)(C)NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cc(Nc2ncc(Cl)c(-c3cnn4ccccc34)n2)c(OC)cc1N1CCN(C(=O)[C@H](C)O)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(NCc1ccccc1)c1cc2cc(O)c(O)cc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-c2nn(C(C)C)c3ncnc(N)c23)ccc1NC(C)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Nc1nc(Nc2cccc(Br)c2)c2cc(CCc3ccccc3Cl)[nH]c2n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CNc1cc2c(Nc3ccccc3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CO>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCC#CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc2cn1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccc(NC(=O)/C=C/c2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(C#N)cc3)ncnc2cc1OCCCN1CCC(c2ccccc2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Fc1cccc(COc2ccc(Nc3ncnc4sc(C#CC5CCCN5)cc34)cc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)NCC(O)CO)c3ccccc3n2C)c(C(=O)NCC(O)CO)c2ccccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Nc2nc(Nc3ccc(OCCN4CCOCC4)cc3)ncc2Cl)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cn1c(SSc2c(C(=O)Nc3ccccc3)c3cc(Br)ccc3n2C)c(C(=O)Nc2ccccc2)c2cc(Br)ccc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCCNc2cc3ncnc(Nc4cccc(Br)c4)c3cn2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(Br)c(/C=C2\CC(C)CC(=C\c3nc(C)c(C)nc3C)/C2=N/O)cc1OC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=NS(=O)(=O)c1ccc(Nc2nc(N3CCOCC3)nc3[nH]cnc23)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc2c(Nc3ccc(NC(=O)c4cccc(Cl)c4)cc3)ncnc2cc1OCCN1CCCCC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=O=C(CCl)OCCn1c(=O)oc2cc3ncnc(Nc4ccc(Oc5cccc(C(F)(F)F)c5)c(Cl)c4)c3cc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncnc(Nc3cccc(-c4nccs4)c3)c2cc1OCC>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C[C@@H](NC(=O)c1ccc(S(=O)(=O)Oc2ccc(/C=C/[N+](=O)[O-])cc2)cc1)C(=O)N[C@H](C)C(=O)OC(C)(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1ccc(Oc2nc(Nc3ccc(N4CCN(C)CC4)cc3OC)ncc2Cl)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(F)c(C=O)c(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1ccccc1C(=Cc1coc2nc(=N)[nH]c(N)c12)C(C)C>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=COc1cc(-n2cc(CN3C[C@H](C)N[C@H](C)C3)nn2)ccc1Nc1ncc(Cl)c(Nc2ccccc2S(=O)(=O)C(C)C)n1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cc1oc2ncnc(Nc3ccc(OCc4cccc(F)c4)c(Cl)c3)c2c1C(=O)O>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CN1CCN(CCC(=O)Nc2ccc3c(C#N)cnc(Nc4cccc(Br)c4)c3c2)CC1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=C=CC(=O)Nc1cccc(Oc2nc(Nc3ccc(N4CCN(C(=O)CC)CC4)cc3OC)ncc2SC)c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCCCCCNC(=O)COc1cc(O)c2c(=O)cc(-c3ccccc3)oc2c1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=Cl.O=C(CCN1CCCCC1)c1ccc(OCc2ccccc2)cc1>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CC(C)n1nc(-c2cc(O)cc(F)c2)c2c(N)ncnc21>)>,
- <ProteinLigandComplex with 2 components (<KLIFSKinase name=P00533>, <Ligand name=CCOc1cc2ncc(C#N)c(Nc3ccc(F)c(Cl)c3)c2cc1NC(=O)CCN1CCOCC1>)>]
-
-
-
-
-
-
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718b1b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a718ba20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219e40> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219510> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a72194b0> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a7219d80> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f81a71e6cc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cfe34e0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cf485a0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cee94b0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False
-bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True
-Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bc00> >, <openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cc5bcc0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cbb9d20> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823ccc3b10> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823c85be70> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic bonds are: [<openeye.oechem.OEBondBase; proxy of <Swig Object of type 'OEChem::OEBondBase *' at 0x7f823cabdea0> >]
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False
-Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False
-Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False
-
-Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle():
-Problematic atoms are:
-Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False
-bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False
-
-
-
-
-
-

Filter

-

Remove systems that couldn’t be featurized. Successful featurizations are stored in measurement.system.featurizations['last'] so we test for that key existence.

-
-
[12]:
-
-
-
from kinoml.datasets.groups import CallableGrouper, RandomGrouper
-grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')
-grouper.assign(dataset, overwrite=True, progress=False)
-groups = dataset.split_by_groups()
-if "invalid" in groups:
-    _invalid = groups.pop("invalid")
-    warn(f"{len(_invalid)} entries could not be featurized!. Possible errors:")
-    warn(f"{_invalid[0].system.featurizations}")
-
-
-
-
-
-

Groups

-

Cumulatively apply groups.

-
-
[13]:
-
-
-
groups[("valid",)] = groups.pop("valid")
-if GROUPS:
-    for grouper_str, grouper_kwargs in GROUPS:
-        grouper_cls = import_object(grouper_str)
-        ## We need this because lambda functions are not JSON-serializable
-        if issubclass(grouper_cls, CallableGrouper):
-            for k, v in list(grouper_kwargs.items()):
-                if k == "function" and isinstance(v, str):
-                    grouper_kwargs[k] = eval(v)  # sorry :)
-        ## End of lambda hack
-        grouper = grouper_cls(**grouper_kwargs)
-        for group_key in list(groups.keys()):
-            grouper.assign(groups[group_key], overwrite=True, progress=False)
-            for subkey, subgroup in groups.pop(group_key).split_by_groups().items():
-                groups[group_key + (subkey,)] = subgroup
-print("10 groups to show keys:", *list(groups.keys())[:10], sep="\n")
-
-
-
-
-
-
-
-
-10 groups to show keys:
-('valid', 'P00533', 'pIC50Measurement')
-('valid', 'P00533', 'pKdMeasurement')
-('valid', 'P00533', 'pKiMeasurement')
-
-
-
-
-

Write tensors to disk

-

Output files are written to _output/<PIPELINE>/<DATASET>/<GROUP>.parquet files.

-

Each parquet will contain at least two array-like objects. The dimensionality of the parquet files is built as (systems, X_or_y, ...). For example, the first X vector for the first system is accessed like parquet[0, "0"]. Notice how the 2nd index is a string! (awkward design).

-
    -
  • "0" (X, featurized systems). See DatasetProvider.to_awkward for more info.

  • -
  • "1" (y, associated measurements)

  • -
-

If X is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to "0", "1", "2", and so on. y is ALWAYS the last one in that list (accessible via data.fields)

-
-
[14]:
-
-
-
random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)
-
-parquets = []
-for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):
-    indices = random_grouper.indices(ds)
-    X, y = ds.to_awkward()
-    parquet = ak.zip([*X, y], depth_limit=1)
-    path = OUT / f"{'__'.join([g for g in group if g != 'valid'])}.parquet"
-    parquets.append(path)
-    ak.to_parquet(parquet, path)
-    # TODO: Missing indices?
-
-
-
-

Preview generated Parquet files:

-
-
[15]:
-
-
-
from kinoml.datasets.torch_datasets import AwkwardArrayDataset
-awk = AwkwardArrayDataset.from_parquet(parquets[0])
-awk
-
-
-
-
-
[15]:
-
-
-
-
-<Array [([[...], ...], 6.14), ..., (..., ...)] type='947 * (var * var * flo...'>
-
-
-
-
[16]:
-
-
-
# X, y = awk[0]  # (multi-X) and y tensors for first system
-
-
-
-
-
[17]:
-
-
-
# X
-
-
-
-
-
[18]:
-
-
-
# y
-
-
-
-
-
[19]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 10:15:40.593058
-
-
-
-
-

Reproducibility logs

-
-
[20]:
-
-
-
# Free some memory first
-del awk, parquets, groups, dataset
-
-
-
-
-
[21]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T10:15:40.605328+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-numpy  : 1.26.0
-awkward: 2.4.6
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 10:15:40 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   57C    P8    17W /  10W |     46MiB / 16384MiB |     18%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1247      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[22]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[23]:
-
-
-
import json
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-
-
-
-

2. 💻Run the experiment

-
-

Train a model with PyTorch

-

Now, we will train a single model using only PyTorch.

-
    -
  1. Tensors are loaded from Parquet files generated in the features/ pipeline. Each Parquet becomes a Torch Dataset sublass.

  2. -
  3. Random splits are applied for train/test/(val).

  4. -
  5. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.

  6. -
  7. The loss is computed through the loss_adapter method in each measurement_type.

  8. -
  9. If validation is enabled, early stopping and LR schedulers are applied.

  10. -
-
-
-

✏ Define hyper parameters

-
-
[24]:
-
-
-
# Parameters
-PARQUET_LOADER_CLS = "kinoml.datasets.torch_datasets.AwkwardArrayDataset"
-PARQUET_FILES = [
-    "ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet"]
-
-# Model -- specified with the full import path to the class object
-## Machine learning model that will be trained. Pass it as importable string.
-MODEL_CLS = "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression"
-## Keyword arguments for the model initialization
-MODEL_KWARGS = {"hidden_shape": 350}  # input_shape is defined dynamically during training
-
-# OPTIMIZER
-## Optimizer class. Pass it as an importable string.
-OPTIMIZER = "torch.optim.Adam"
-## Keyword arguments for the optimizer
-OPTIMIZER_KWARGS = {"lr": 0.001, "eps": 1e-7, "betas": [0.9, 0.999]}
-
-# LOSS FUNCTION
-## Loss function class. Pass it as an importable string.
-LOSS = "torch.nn.MSELoss"
-## Keyword arguments for the loss function, if applicable
-LOSS_KWARGS = {}
-
-# TRAINING
-## Maximum number of epochs the training will run. In practice it might be less due to early stopping
-MAX_EPOCHS = 50
-## Enable real-time validation: this will split the test set into two halves: test and validation.
-## It will also enable LR scheduling and early stopping, based on the validation loss.
-VALIDATION = True
-## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)
-EARLY_STOPPING_KWARGS = {}
-
-# DATALOADER
-DATALOADER_CLS = "torch.utils.data.DataLoader"  # you can also use torch_geometric.data.DataLoader
-## Minibatch size
-BATCH_SIZE = 64
-## Proportion of the dataset that will be split into a test set. If VALIDATION=True,
-## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.
-TRAIN_TEST_SPLIT = 0.2
-## Whether to shuffle the indices before splitting
-SHUFFLE_SPLITS = True
-## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-## IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-COLLATE_FN = None
-
-# Plot bootstrapping
-## Bootstrapping iterations for the performance plots
-N_BOOTSTRAPS = 1
-## Proportion of the data that is sampled in each iteration
-BOOTSTRAP_SAMPLE_RATIO = 1
-
-# Output
-## Enable some extra output, like plots and logging statements.
-VERBOSE = False
-
-
-HERE = _dh[-1] #current path
-
-
-
-

⚠ From here on, you should not need to modify anything else to apply it to your own dataset 🤞

-
-

Define key paths for data and outputs:

-
-
[25]:
-
-
-
from pathlib import Path
-from datetime import datetime
-
-HERE = Path(HERE)
-
-for parent in HERE.parents:
-    if next(parent.glob(".github/"), None):
-        REPO = parent
-        break
-
-FEATURES_STORE = REPO /"examples"/"experiments"
-
-OUT = HERE / "_output" / datetime.now().strftime("%Y%m%d-%H%M%S")
-OUT.mkdir(parents=True, exist_ok=True)
-
-print(f"This notebook:           HERE = {HERE}")
-print(f"This repo:               REPO = {REPO}")
-print(f"Features:      FEATURES_STORE = {FEATURES_STORE}")
-print(f"Outputs in:               OUT = {OUT}")
-
-
-
-
-
-
-
-
-This notebook:           HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR
-This repo:               REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml
-Features:      FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments
-Outputs in:               OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546
-
-
-
-
[26]:
-
-
-
# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later
-_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith(("_", "OE_"))}
-
-
-
-
-
[27]:
-
-
-
from collections import defaultdict
-from warnings import warn
-import sys
-import shutil
-
-from IPython.display import Markdown
-import numpy as np
-import pandas as pd
-import torch
-from torch.utils.data import DataLoader, SubsetRandomSampler
-from tqdm.auto import trange, tqdm
-
-from kinoml.ml.torch_loops import LRScheduler, EarlyStopping
-from kinoml.utils import seed_everything, import_object
-from kinoml.core import measurements as measurement_types
-from kinoml.core.measurements import null_observation_model
-from kinoml.analysis.metrics import performance
-from kinoml.analysis.plots import predicted_vs_observed
-
-# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation
-seed_everything();
-print("Run started at", datetime.now())
-
-
-
-
-
-
-
-
-Run started at 2023-11-06 10:15:47.319083
-
-
-
-
-

Load featurized data and create observation models

-

We assume this path structure: $REPO/features/_output/<FEATURIZATION>/<DATASET>/<MEASUREMENT_TYPE>.npz

-
-
[28]:
-
-
-
DATASETS = []
-MEASUREMENT_TYPES = set()
-ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)
-for glob in PARQUET_FILES:
-    print(glob)
-    parquets = list(FEATURES_STORE.glob(glob))
-    if not parquets:
-        warn(f"⚠ Parquet glob `{glob}` did not match any files!")
-        continue
-
-    for parquet in parquets:
-        measurement_type = parquet.stem
-        dataset = parquet.parent.name
-
-        ds = ParquetLoaderCls.from_parquet(parquet)
-        ds.metadata = {
-            "dataset": dataset,
-            "measurement_type": measurement_type,
-        }
-        DATASETS.append(ds)
-        MEASUREMENT_TYPES.add(measurement_type)
-
-if not DATASETS:
-    raise ValueError("Provided `PARQUET_FILES` did not result in any valid datasets!")
-
-
-
-
-
-
-
-
-ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet
-
-
-

Now that we have all the data-dependent objects, we can start with the model-specific definitions.

-
-
[29]:
-
-
-
print(f"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.")
-
-
-
-
-
-
-
-
-Loaded 3 datasets with a total of 1000 measurements.
-
-
-
-
-

Prepare splits and dataloaders

-

Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed.

-
-
[30]:
-
-
-
dataloaders = {}
-for dataset in DATASETS:
-    key = dataset.metadata["measurement_type"]
-
-    # Generate random indices in situ
-    # If you need to provide indices from another source,
-    # replace this block to provide train_indices, test_indices
-    dataset_size = len(dataset)
-    indices = list(range(dataset_size))
-    split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))
-
-    if SHUFFLE_SPLITS :
-        np.random.shuffle(indices)
-    train_indices, test_indices = indices[split:], indices[split:]
-    if VALIDATION:
-        split2 = int(np.floor(len(test_indices) / 2))
-        test_indices, val_indices = test_indices[:split2], test_indices[split2:]
-    # End of indices creation
-
-    collate_fn = None
-    if COLLATE_FN:
-        # IMPORTANT: This will be needed if your X tensors have different shapes across systems!
-        # COLLATE_FN can be an import string, or a eval-able lambda
-        # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn
-        try:
-            collate_fn = import_object(COLLATE_FN)
-        except ImportError:
-            collate_fn = eval(COLLATE_FN)
-
-    # Creating PT data samplers and loaders:
-    train_sampler = SubsetRandomSampler(train_indices)
-    test_sampler = SubsetRandomSampler(test_indices)
-
-    dataloaders[key] = {
-        "train": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),
-        "test": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),
-    }
-
-    if VALIDATION:
-        val_sampler = SubsetRandomSampler(val_indices)
-        dataloaders[key]["val"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)
-
-
-
-
-
-

Training loop

-
-
[31]:
-
-
-
ModelCls = import_object(MODEL_CLS)
-
-# Note that we assume all dataloaders will provide the
-# same kind of input shape, so we onlt test on one
-if ModelCls.needs_input_shape:
-    a_dataloader = dataloaders[next(iter(dataloaders.keys()))]["train"]
-    x_sample, _ = next(iter(a_dataloader))
-    MODEL_KWARGS["input_shape"] = ModelCls.estimate_input_shape(x_sample)
-
-nn_model = ModelCls(**MODEL_KWARGS)
-
-optimizer = import_object(OPTIMIZER)(nn_model.parameters(), **OPTIMIZER_KWARGS)
-loss_function = import_object(LOSS)()
-
-if VALIDATION:
-    lr_scheduler = LRScheduler(optimizer)
-    early_stopping = EarlyStopping(**EARLY_STOPPING_KWARGS)
-
-train_loss_timeseries = []
-val_loss_timeseries = []
-
-range_epochs = trange(MAX_EPOCHS, desc="Epochs")
-for epoch in range_epochs:
-    train_loss = 0.0
-    val_loss = 0.0
-    for key, loader in tqdm(dataloaders.items(), desc="Datasets", leave=False):
-        try:
-            mtype_class = import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype_class = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        loss_adapter = mtype_class.loss_adapter(backend="pytorch")
-
-        # TRAIN
-        nn_model.train()
-        for x, y in tqdm(loader["train"], desc="Minibatches", leave=False):
-            # Clear gradients
-            optimizer.zero_grad()
-            # Obtain model prediction given model input
-            prediction = nn_model(x)
-            # apply observation model
-            loss = loss_adapter(prediction.view_as(y), y, loss_function)
-            # Pred. must match y shape!    ^^^^^^^^^^
-            # Obtain loss for the predicted output
-            train_loss += loss.item()
-            # Gradients w.r.t. parameters
-            loss.backward()
-            # Optimize
-            optimizer.step()
-
-
-        # VALIDATE
-        if VALIDATION:
-            nn_model.eval()
-            with torch.no_grad():
-                for x, y in tqdm(loader["val"], desc="Minibatches", leave=False):
-                    prediction = nn_model(x).view_as(y)
-                    loss = loss_adapter(prediction.view_as(y), y, loss_function)
-                    val_loss += loss.item()
-                    range_epochs.set_description(f"Epochs (Avg. val. loss={val_loss / (epoch + 1):.2e})")
-
-    # LOG LOSSES
-    train_loss_timeseries.append(train_loss)
-
-    if VALIDATION:
-        val_loss_timeseries.append(val_loss)
-
-        # Adjust training if needed
-        lr_scheduler(val_loss)
-        early_stopping(val_loss)
-        if early_stopping.early_stop:
-            break
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 1 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 2 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 3 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 4 of 5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INFO: Early stopping counter 5 of 5
-INFO: Early stopping
-
-
-

Save model to disk

-
-
[33]:
-
-
-
torch.save(nn_model, OUT / "nn_model.pt")
-
-
-
-
-
-

Evaluate model

-
-
[34]:
-
-
-
metrics = {}
-nn_model.train(False)
-for key, loader in dataloaders.items():
-    metrics[key] = {}
-    display(Markdown(f"#### {key}"))
-    for ttype, dataloader in loader.items():
-        display(Markdown(f"##### {ttype}"))
-        try:
-            mtype= import_object(f"kinoml.core.measurements.{key}")
-        except AttributeError:
-            mtype = import_object(f"kinoml.core.measurements.{key.split('__')[1]}")
-        obs_model = mtype.observation_model(backend="pytorch")
-        x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]
-        prediction = obs_model(nn_model(x).view_as(y).detach().numpy())
-
-        perf_data = performance(prediction, y, verbose=False)
-        metrics[key][ttype] = {}
-        for perfkey, values in perf_data.items():
-            metrics[key][ttype][perfkey] = {"mean": values[0], "std": values[1]}
-        display(predicted_vs_observed(prediction, y, mtype))
-
-
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.1604±0.0194 95CI=(0.1331, 0.1940)
- MSE: 0.0351±0.0071 95CI=(0.0248, 0.0473)
-  R2: 0.9759±0.0147 95CI=(0.9517, 0.9889)
-RMSE: 0.1863±0.0188 95CI=(0.1575, 0.2175)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_3.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.1827±0.0276 95CI=(0.1317, 0.2254)
- MSE: 0.0421±0.0114 95CI=(0.0218, 0.0610)
-  R2: 0.9659±0.0406 95CI=(0.8957, 0.9884)
-RMSE: 0.2032±0.0285 95CI=(0.1476, 0.2470)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_6.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1334±0.0305 95CI=(0.0860, 0.1868)
- MSE: 0.0267±0.0107 95CI=(0.0119, 0.0438)
-  R2: 0.9695±0.0289 95CI=(0.9180, 0.9935)
-RMSE: 0.1599±0.0329 95CI=(0.1090, 0.2092)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_9.png -
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.3447±0.1288 95CI=(0.1899, 0.5692)
- MSE: 0.3078±0.2553 95CI=(0.0473, 0.7105)
-  R2: 0.7518±0.2481 95CI=(0.2974, 0.9662)
-RMSE: 0.5049±0.2301 95CI=(0.2174, 0.8429)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_13.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.2467±0.0704 95CI=(0.1483, 0.3732)
- MSE: 0.0879±0.0470 95CI=(0.0278, 0.1694)
-  R2: 0.7269±0.9792 95CI=(0.6081, 0.9601)
-RMSE: 0.2860±0.0784 95CI=(0.1666, 0.4116)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_16.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.4523±0.2470 95CI=(0.1672, 0.8707)
- MSE: 0.5403±0.5099 95CI=(0.0346, 1.3158)
-  R2: -53.9573±538.8569 95CI=(-0.8780, 0.9748)
-RMSE: 0.6364±0.3677 95CI=(0.1859, 1.1471)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_19.png -
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
-
-

train

-
-
-
-
-
-
-
-
- MAE: 0.1833±0.0072 95CI=(0.1726, 0.1958)
- MSE: 0.0722±0.0093 95CI=(0.0590, 0.0885)
-  R2: 0.9634±0.0046 95CI=(0.9540, 0.9695)
-RMSE: 0.2682±0.0170 95CI=(0.2430, 0.2975)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_23.png -
-
-
-
-
-
-
-

test

-
-
-
-
-
-
-
-
- MAE: 0.1798±0.0097 95CI=(0.1662, 0.1979)
- MSE: 0.0667±0.0148 95CI=(0.0490, 0.0935)
-  R2: 0.9645±0.0079 95CI=(0.9493, 0.9742)
-RMSE: 0.2568±0.0279 95CI=(0.2213, 0.3058)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_26.png -
-
-
-
-
-
-
-

val

-
-
-
-
-
-
-
-
- MAE: 0.1862±0.0108 95CI=(0.1705, 0.2051)
- MSE: 0.0773±0.0113 95CI=(0.0601, 0.0970)
-  R2: 0.9629±0.0059 95CI=(0.9526, 0.9709)
-RMSE: 0.2773±0.0202 95CI=(0.2452, 0.3114)
-
-
-
-
-
-
-../_images/notebooks_ligand-only-smiles-EGFR_56_29.png -
-
-
-
-

Summary

-

kinase_metrics is a nested dictionary with these dimensions:

-
    -
  • measurement type

  • -
  • metric

  • -
  • mean & standard deviation

  • -
-
-
[35]:
-
-
-
import json
-
-display(Markdown(f"""
-### Configuration
-
-```json
-{json.dumps(_hparams, default=str, indent=2)}
-```
-"""))
-
-if VERBOSE:
-    display(Markdown(
-f"""
-### Kinase metrics
-
-```json
-{json.dumps(metrics, default=str, indent=2)}
-```
-"""))
-
-
-
-
-
-
-
-
-

Configuration

-
{
-  "VERSION": "2023.11.06",
-  "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR",
-  "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider",
-  "DATASET_KWARGS": {
-    "path_or_url": "../data/filtered_dataset_EGFR.csv",
-    "sample": 1000
-  },
-  "PIPELINES": {
-    "ligand": [
-      [
-        "kinoml.features.ligand.OneHotSMILESFeaturizer",
-        {}
-      ],
-      [
-        "kinoml.features.core.PadFeaturizer",
-        {
-          "shape": "auto"
-        }
-      ]
-    ]
-  },
-  "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays",
-  "PIPELINES_AGG_KWARGS": {},
-  "FEATURIZE_KWARGS": {
-    "keep": false
-  },
-  "GROUPS": [
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7f4dc22ff9d0>"
-      }
-    ],
-    [
-      "kinoml.datasets.groups.CallableGrouper",
-      {
-        "function": "<function <lambda> at 0x7f4dc22ff430>"
-      }
-    ]
-  ],
-  "TRAIN_TEST_VAL_KWARGS": {
-    "idx_train": 0.8,
-    "idx_test": 0.1,
-    "idx_val": 0.1
-  },
-  "REPO": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml",
-  "OUT": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546",
-  "X": "[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...]]",
-  "PARQUET_LOADER_CLS": "kinoml.datasets.torch_datasets.AwkwardArrayDataset",
-  "PARQUET_FILES": [
-    "ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet"
-  ],
-  "MODEL_CLS": "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression",
-  "MODEL_KWARGS": {
-    "hidden_shape": 350,
-    "input_shape": [
-      53,
-      159
-    ]
-  },
-  "OPTIMIZER": "torch.optim.Adam",
-  "OPTIMIZER_KWARGS": {
-    "lr": 0.001,
-    "eps": 1e-07,
-    "betas": [
-      0.9,
-      0.999
-    ]
-  },
-  "LOSS": "torch.nn.MSELoss",
-  "LOSS_KWARGS": {},
-  "MAX_EPOCHS": 50,
-  "VALIDATION": true,
-  "EARLY_STOPPING_KWARGS": {},
-  "DATALOADER_CLS": "torch.utils.data.DataLoader",
-  "BATCH_SIZE": 64,
-  "TRAIN_TEST_SPLIT": 0.2,
-  "SHUFFLE_SPLITS": true,
-  "COLLATE_FN": null,
-  "N_BOOTSTRAPS": 1,
-  "BOOTSTRAP_SAMPLE_RATIO": 1,
-  "VERBOSE": false,
-  "FEATURES_STORE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments"
-}
-
-
-
-
-
-
-
[36]:
-
-
-
for mtype_name in MEASUREMENT_TYPES:
-    mtype_metrics = metrics.get(mtype_name)
-    if not mtype_metrics:
-        continue
-
-    display(Markdown(f"#### {mtype_name}"))
-
-    # flatten dict a bit: from dict["test"]["r2"]["mean"] to dict["test"]["r2_mean"]
-    flattened = {}
-    for ttype, scores in mtype_metrics.items():
-        flattened[ttype] = {}
-        for score, stats in scores.items():
-            for stat, value in stats.items():
-                flattened[ttype][f"{score}_{stat}"] = value
-
-    df = pd.DataFrame.from_dict(flattened, orient="index")
-    with pd.option_context("display.float_format", "{:.3f}".format, "display.max_rows", len(df)):
-        display(
-            df.style.background_gradient(subset=["r2_mean"], low=0, high=1, vmin=0, vmax=1)
-              .apply(lambda x: ['font-weight: bold' for v in x], subset=["r2_mean"])
-        )
-
-
-
-
-
-
-
-
-

P00533__pIC50Measurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1832600.0072190.0722250.0092880.9634490.0046290.2682090.016991
test0.1797820.0097110.0667380.0148050.9645200.0078670.2568270.027890
val0.1861700.0107850.0773240.0112530.9629180.0059420.2773360.020215
-
-
-
-
-
-
-

P00533__pKdMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.3446780.1287560.3078060.2552940.7517610.2480680.5048520.230067
test0.2467420.0704130.0879390.0469780.7268740.9792020.2859830.078438
val0.4522790.2470030.5402770.509896-53.957348538.8569450.6364270.367746
-
-
-
-
-
-
-

P00533__pKiMeasurement

-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1604100.0193570.0350800.0070790.9759310.0146640.1863490.018824
test0.1827440.0275500.0420850.0114470.9658660.0405650.2031630.028461
val0.1334220.0304960.0266640.0106670.9695370.0289140.1599500.032868
-
-
-
[37]:
-
-
-
print("Run finished at", datetime.now())
-
-
-
-
-
-
-
-
-Run finished at 2023-11-06 10:17:11.790579
-
-
-
-
-

Save reports to disk

-
-
[38]:
-
-
-
from kinoml.utils import watermark
-w = watermark()
-
-
-
-
-
-
-
-
-Watermark
----------
-Last updated: 2023-11-06T10:17:11.796459+01:00
-
-Python implementation: CPython
-Python version       : 3.9.18
-IPython version      : 8.15.0
-
-Compiler    : GCC 12.3.0
-OS          : Linux
-Release     : 6.2.0-36-generic
-Machine     : x86_64
-Processor   : x86_64
-CPU cores   : 16
-Architecture: 64bit
-
-Hostname: aleph
-
-Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78
-
-torch  : 2.1.0
-sys    : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32)
-[GCC 12.3.0]
-json   : 2.0.9
-pandas : 2.1.1
-numpy  : 1.26.0
-kinoml : 0+unknown
-awkward: 2.4.6
-
-Watermark: 2.4.3
-
-
-nvidia-smi
-----------
-stdout:
-Mon Nov  6 10:17:11 2023
-+-----------------------------------------------------------------------------+
-| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
-|-------------------------------+----------------------+----------------------+
-| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
-| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
-|                               |                      |               MIG M. |
-|===============================+======================+======================|
-|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
-| N/A   59C    P8    17W /  10W |     46MiB / 16384MiB |     23%      Default |
-|                               |                      |                  N/A |
-+-------------------------------+----------------------+----------------------+
-
-+-----------------------------------------------------------------------------+
-| Processes:                                                                  |
-|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
-|        ID   ID                                                   Usage      |
-|=============================================================================|
-|    0   N/A  N/A      1247      G   /usr/lib/xorg/Xorg                 45MiB |
-+-----------------------------------------------------------------------------+
-
-conda info
-----------
-sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...
-sys.prefix: /home/raquellrdc/anaconda3
-sys.executable: /home/raquellrdc/anaconda3/bin/python
-conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda
-conda-build: /home/raquellrdc/anaconda3/bin/conda-build
-conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust
-conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert
-conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug
-conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop
-conda-env: /home/raquellrdc/anaconda3/bin/conda-env
-conda-index: /home/raquellrdc/anaconda3/bin/conda-index
-conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect
-conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage
-conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack
-conda-render: /home/raquellrdc/anaconda3/bin/conda-render
-conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo
-conda-server: /home/raquellrdc/anaconda3/bin/conda-server
-conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton
-conda-token: /home/raquellrdc/anaconda3/bin/conda-token
-conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify
-user site dirs: ~/.local/lib/python3.10
-
-CIO_TEST: <not set>
-CONDA_DEFAULT_ENV: kinoml_env
-CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda
-CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env
-CONDA_PROMPT_MODIFIER: (kinoml_env)
-CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python
-CONDA_ROOT: /home/raquellrdc/anaconda3
-CONDA_SHLVL: 1
-CURL_CA_BUNDLE: <not set>
-LD_PRELOAD: <not set>
-PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-PYTHONHASHSEED: 1234
-REQUESTS_CA_BUNDLE: <not set>
-SSL_CERT_FILE: <not set>
-XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0
-XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1
-
-conda list
-----------
-# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:
-#
-# Name                    Version                   Build  Channel
-_libgcc_mutex             0.1                 conda_forge    conda-forge
-_openmp_mutex             4.5                       2_gnu    conda-forge
-_py-xgboost-mutex         2.0                       gpu_0    conda-forge
-alabaster                 0.7.13                   pypi_0    pypi
-ambertools                23.3             py39h7fa913e_4    conda-forge
-amberutils                21.0                     pypi_0    pypi
-ansiwrap                  0.8.4                      py_0    conda-forge
-anyio                     3.5.0            py39h06a4308_0
-appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
-argon2-cffi               21.3.0             pyhd3eb1b0_0
-argon2-cffi-bindings      21.2.0           py39h7f8727e_0
-arpack                    3.8.0           nompi_h0baa96a_101    conda-forge
-arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
-asttokens                 2.0.5              pyhd3eb1b0_0
-astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
-async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
-attrs                     23.1.0           py39h06a4308_0
-awkward                   2.4.6              pyhd8ed1ab_0    conda-forge
-awkward-cpp               24               py39h7633fee_0    conda-forge
-aws-c-auth                0.7.4                h1083cbe_2    conda-forge
-aws-c-cal                 0.6.2                h09139f6_2    conda-forge
-aws-c-common              0.9.3                hd590300_0    conda-forge
-aws-c-compression         0.2.17               h184a658_3    conda-forge
-aws-c-event-stream        0.3.2                h6fea174_2    conda-forge
-aws-c-http                0.7.13               hb59894b_2    conda-forge
-aws-c-io                  0.13.33              h161b759_0    conda-forge
-aws-c-mqtt                0.9.7                h55cd26b_0    conda-forge
-aws-c-s3                  0.3.17               hfb4bb88_4    conda-forge
-aws-c-sdkutils            0.1.12               h184a658_2    conda-forge
-aws-checksums             0.1.17               h184a658_2    conda-forge
-aws-crt-cpp               0.24.2               ha28989d_2    conda-forge
-aws-sdk-cpp               1.11.156             h314d761_4    conda-forge
-babel                     2.11.0           py39h06a4308_0
-backcall                  0.2.0              pyhd3eb1b0_0
-beautifulsoup4            4.12.2           py39h06a4308_0
-biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
-biopython                 1.77             py39h27cfd23_0
-biotite                   0.38.0           py39h44dd56e_0    conda-forge
-black                     23.3.0           py39h06a4308_0
-blas                      1.0                         mkl
-bleach                    4.1.0              pyhd3eb1b0_0
-blosc                     1.21.5               h0f2a231_0    conda-forge
-bokeh                     3.2.1            py39h2f386ee_0
-bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
-bravado-core              5.17.1             pyhd8ed1ab_0    conda-forge
-brotli                    1.0.9                he6710b0_2
-brotli-python             1.0.9            py39h6a678d5_7
-bzip2                     1.0.8                h7b6447c_0
-c-ares                    1.20.1               hd590300_0    conda-forge
-c-blosc2                  2.10.5               hb4ffafa_0    conda-forge
-ca-certificates           2023.08.22           h06a4308_0
-cached-property           1.5.2                hd8ed1ab_1    conda-forge
-cached_property           1.5.2              pyha770c72_1    conda-forge
-cachetools                5.3.1              pyhd8ed1ab_0    conda-forge
-cairo                     1.18.0               h3faef2a_0    conda-forge
-certifi                   2023.7.22        py39h06a4308_0
-cffi                      1.15.1           py39h5eee18b_3
-cftime                    1.6.2            py39h7deecbd_0
-charset-normalizer        2.0.4              pyhd3eb1b0_0
-click                     8.0.4            py39h06a4308_0
-cloudpickle               2.2.1            py39h06a4308_0
-codecov                   2.1.13             pyhd8ed1ab_0    conda-forge
-colorama                  0.4.6            py39h06a4308_0
-comm                      0.1.2            py39h06a4308_0
-contourpy                 1.0.5            py39hdb19cb5_0
-coverage                  7.2.2            py39h5eee18b_0
-cpuonly                   2.0                           0    pytorch
-cuda-version              11.8                 h70ddcb2_2    conda-forge
-cudatoolkit               11.8.0              h4ba93d1_12    conda-forge
-cycler                    0.11.0             pyhd3eb1b0_0
-cytoolz                   0.12.0           py39h5eee18b_0
-dask                      2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-core                 2023.10.0          pyhd8ed1ab_0    conda-forge
-dask-jobqueue             0.8.2              pyhd8ed1ab_0    conda-forge
-debugpy                   1.6.7            py39h6a678d5_0
-decorator                 5.1.1              pyhd3eb1b0_0
-defusedxml                0.7.1              pyhd3eb1b0_0
-distributed               2023.10.0          pyhd8ed1ab_0    conda-forge
-docker-pycreds            0.4.0                    pypi_0    pypi
-docutils                  0.20.1                   pypi_0    pypi
-edgembar                  0.2                      pypi_0    pypi
-entrypoints               0.4              py39h06a4308_0
-exceptiongroup            1.0.4            py39h06a4308_0
-execnet                   1.9.0              pyhd3eb1b0_0
-executing                 0.8.3              pyhd3eb1b0_0
-expat                     2.5.0                h6a678d5_0
-fasteners                 0.16.3             pyhd3eb1b0_0
-fftw                      3.3.10          nompi_hc118613_108    conda-forge
-filelock                  3.9.0            py39h06a4308_0
-font-ttf-dejavu-sans-mono 2.37                 hd3eb1b0_0
-font-ttf-inconsolata      2.001                hcb22688_0
-font-ttf-source-code-pro  2.030                hd3eb1b0_0
-font-ttf-ubuntu           0.83                 h8b1ccd4_0
-fontconfig                2.14.2               h14ed4e7_0    conda-forge
-fonts-anaconda            1                    h8fa9717_0
-fonts-conda-ecosystem     1                    hd3eb1b0_0
-fonttools                 4.25.0             pyhd3eb1b0_0
-fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
-freetype                  2.12.1               h4a9f257_0
-fsspec                    2023.9.2         py39h06a4308_0
-gettext                   0.21.1               h27087fc_0    conda-forge
-gflags                    2.2.2                he6710b0_0
-giflib                    5.2.1                h5eee18b_3
-gitdb                     4.0.11                   pypi_0    pypi
-gitpython                 3.1.40                   pypi_0    pypi
-glog                      0.6.0                h6f12383_0    conda-forge
-gmp                       6.2.1                h295c915_3
-gmpy2                     2.1.2            py39heeb90bb_0
-greenlet                  2.0.1            py39h6a678d5_0
-griddataformats           1.0.1              pyhd8ed1ab_0    conda-forge
-gsd                       3.2.0            py39h44dd56e_0    conda-forge
-h5py                      3.10.0          nompi_py39h87cadad_100    conda-forge
-hdf4                      4.2.15               h9772cbc_5    conda-forge
-hdf5                      1.14.2          nompi_h4f84152_100    conda-forge
-heapdict                  1.0.1              pyhd3eb1b0_0
-icu                       73.2                 h59595ed_0    conda-forge
-idna                      3.4              py39h06a4308_0
-imagesize                 1.4.1                    pypi_0    pypi
-importlib-metadata        6.0.0            py39h06a4308_0
-importlib-resources       6.1.0              pyhd8ed1ab_0    conda-forge
-importlib_metadata        6.0.0                hd3eb1b0_0
-importlib_resources       6.1.0              pyhd8ed1ab_0    conda-forge
-iniconfig                 1.1.1              pyhd3eb1b0_0
-intel-openmp              2023.1.0         hdb19cb5_46305
-ipykernel                 6.25.0           py39h2f386ee_0
-ipython                   8.15.0           py39h06a4308_0
-ipython_genutils          0.2.0              pyhd3eb1b0_1
-ipywidgets                8.0.4            py39h06a4308_0
-isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
-jedi                      0.18.1           py39h06a4308_1
-jinja2                    3.1.2            py39h06a4308_0
-joblib                    1.2.0            py39h06a4308_0
-jpeg                      9e                   h5eee18b_1
-json5                     0.9.6              pyhd3eb1b0_0
-jsonpointer               2.4              py39hf3d152e_3    conda-forge
-jsonref                   0.2                        py_0    conda-forge
-jsonschema                4.19.1             pyhd8ed1ab_0    conda-forge
-jsonschema-specifications 2023.7.1           pyhd8ed1ab_0    conda-forge
-jsonschema-with-format-nongpl 4.19.1             pyhd8ed1ab_0    conda-forge
-jupyter-lsp               2.2.0              pyhd8ed1ab_0    conda-forge
-jupyter_client            7.4.9            py39h06a4308_0
-jupyter_core              5.3.0            py39h06a4308_0
-jupyter_events            0.7.0              pyhd8ed1ab_2    conda-forge
-jupyter_server            2.7.3              pyhd8ed1ab_1    conda-forge
-jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
-jupyterlab                4.0.7              pyhd8ed1ab_0    conda-forge
-jupyterlab_pygments       0.1.2                      py_0
-jupyterlab_server         2.25.0             pyhd8ed1ab_0    conda-forge
-jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
-kinoml                    0+unknown                pypi_0    pypi
-kiwisolver                1.4.4            py39h6a678d5_0
-krb5                      1.20.1               h143b758_1
-lcms2                     2.12                 h3be6417_0
-ld_impl_linux-64          2.38                 h1181459_1
-lerc                      3.0                  h295c915_0
-libabseil                 20230802.1      cxx17_h59595ed_0    conda-forge
-libaec                    1.1.2                h59595ed_1    conda-forge
-libarrow                  13.0.0           h4121bdd_9_cpu    conda-forge
-libblas                   3.9.0           1_h86c2bf4_netlib    conda-forge
-libboost                  1.82.0               h109eef0_2
-libboost-python           1.82.0           py39hda80f44_6    conda-forge
-libbrotlicommon           1.1.0                hd590300_1    conda-forge
-libbrotlidec              1.1.0                hd590300_1    conda-forge
-libbrotlienc              1.1.0                hd590300_1    conda-forge
-libcrc32c                 1.1.2                h6a678d5_0
-libcurl                   8.4.0                h251f7ec_0
-libdeflate                1.17                 h5eee18b_1
-libedit                   3.1.20221030         h5eee18b_0
-libev                     4.33                 h7f8727e_1
-libevent                  2.1.12               hdbd6064_1
-libffi                    3.4.4                h6a678d5_0
-libgcc-ng                 13.2.0               h807b86a_2    conda-forge
-libgfortran-ng            13.2.0               h69a702a_2    conda-forge
-libgfortran5              13.2.0               ha4646dd_2    conda-forge
-libglib                   2.78.0               hebfc3b9_0    conda-forge
-libgomp                   13.2.0               h807b86a_2    conda-forge
-libgoogle-cloud           2.12.0               h19a6dae_3    conda-forge
-libgrpc                   1.58.1               he06187c_2    conda-forge
-libiconv                  1.17                 h166bdaf_0    conda-forge
-liblapack                 3.9.0           5_h92ddd45_netlib    conda-forge
-libnetcdf                 4.9.2           nompi_h80fb2b6_112    conda-forge
-libnghttp2                1.57.0               h2d74bed_0
-libnsl                    2.0.0                h5eee18b_0
-libnuma                   2.0.16               h0b41bf4_1    conda-forge
-libpng                    1.6.39               h5eee18b_0
-libprotobuf               4.24.3               hf27288f_1    conda-forge
-libre2-11                 2023.06.02           h7a70373_0    conda-forge
-libsodium                 1.0.18               h7b6447c_0
-libsqlite                 3.43.2               h2797004_0    conda-forge
-libssh2                   1.10.0               hdbd6064_2
-libstdcxx-ng              13.2.0               h7e041cc_2    conda-forge
-libthrift                 0.19.0               hb90f79a_1    conda-forge
-libtiff                   4.5.1                h6a678d5_0
-libutf8proc               2.8.0                h166bdaf_0    conda-forge
-libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libwebp                   1.3.2                h11a3e52_0
-libwebp-base              1.3.2                h5eee18b_0
-libxcb                    1.15                 h7f8727e_0
-libxgboost                1.7.6           cuda118h4159b1e_5    conda-forge
-libxml2                   2.11.5               h232c23b_1    conda-forge
-libxslt                   1.1.37               h0054252_1    conda-forge
-libzip                    1.10.1               h2629f0a_3    conda-forge
-libzlib                   1.2.13               hd590300_5    conda-forge
-lightning-utilities       0.9.0            py39h06a4308_0
-llvm-openmp               14.0.6               h9e868ea_0
-locket                    1.0.0            py39h06a4308_0
-lxml                      4.9.3            py39hed45dcc_1    conda-forge
-lz4                       4.3.2            py39h5eee18b_0
-lz4-c                     1.9.4                h6a678d5_0
-lzo                       2.10              h516909a_1000    conda-forge
-markupsafe                2.1.1            py39h7f8727e_0
-matplotlib-base           3.8.0            py39he9076e7_2    conda-forge
-matplotlib-inline         0.1.6            py39h06a4308_0
-mda-xdrlib                0.2.0              pyhd8ed1ab_0    conda-forge
-mdanalysis                2.3.0            py39h4661b88_1    conda-forge
-mdtraj                    1.9.9            py39h031bd0f_0    conda-forge
-mistune                   0.8.4           py39h27cfd23_1000
-mkl                       2023.1.0         h213fc3f_46343
-mkl-service               2.4.0            py39h5eee18b_1
-mkl_fft                   1.3.8            py39h5eee18b_0
-mkl_random                1.2.4            py39hdb19cb5_0
-mmpbsa-py                 16.0                     pypi_0    pypi
-mmtf-python               1.1.3              pyhd8ed1ab_0    conda-forge
-monotonic                 1.5                        py_0
-mpc                       1.1.0                h10f8cd9_1
-mpfr                      4.0.2                hb69a4c5_1
-mpmath                    1.3.0            py39h06a4308_0
-mrcfile                   1.4.3              pyhd8ed1ab_0    conda-forge
-msgpack-python            1.0.3            py39hd09550d_0
-munkres                   1.1.4                      py_0
-mypy_extensions           1.0.0            py39h06a4308_0
-nbclassic                 0.5.5            py39h06a4308_0
-nbclient                  0.5.13           py39h06a4308_0
-nbconvert                 6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-core            6.5.3              pyhd8ed1ab_0    conda-forge
-nbconvert-pandoc          6.5.3              pyhd8ed1ab_0    conda-forge
-nbformat                  5.9.2            py39h06a4308_0
-nbval                     0.10.0             pyhd8ed1ab_0    conda-forge
-nccl                      2.19.3.1             h6103f9b_0    conda-forge
-ncurses                   6.4                  h6a678d5_0
-nest-asyncio              1.5.6            py39h06a4308_0
-netcdf-fortran            4.6.1           nompi_hacb5139_102    conda-forge
-netcdf4                   1.6.4           nompi_py39h4282601_103    conda-forge
-networkx                  3.1              py39h06a4308_0
-nglview                   3.0.8              pyh1da8cd4_0    conda-forge
-notebook                  7.0.5              pyhd8ed1ab_0    conda-forge
-notebook-shim             0.2.2            py39h06a4308_0
-numexpr                   2.7.3            py39hde0f152_1    conda-forge
-numpy                     1.26.0           py39h5f9d8c6_0
-numpy-base                1.26.0           py39hb5e798b_0
-ocl-icd                   2.3.1                h7f98852_0    conda-forge
-ocl-icd-system            1.0.0                         1    conda-forge
-opencadd                  0.2.2              pyhd8ed1ab_0    conda-forge
-openeye-toolkits          2023.1.1                 py39_0    openeye
-openff-amber-ff-ports     0.0.3              pyh6c4a22f_0    conda-forge
-openff-forcefields        2023.08.0          pyh1a96a4e_0    conda-forge
-openff-interchange        0.2.2              pyhd8ed1ab_0    conda-forge
-openff-interchange-base   0.2.2              pyhd8ed1ab_0    conda-forge
-openff-toolkit            0.11.2             pyhd8ed1ab_2    conda-forge
-openff-toolkit-base       0.11.2             pyhd8ed1ab_2    conda-forge
-openff-units              0.1.8              pyh1a96a4e_1    conda-forge
-openff-utilities          0.1.10             pyhd8ed1ab_0    conda-forge
-openjpeg                  2.4.0                h3ad879b_0
-openmm                    8.0.0            py39he81762f_3    conda-forge
-openssl                   3.1.3                hd590300_0    conda-forge
-orc                       1.9.0                h208142c_3    conda-forge
-overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
-packaging                 23.1             py39h06a4308_0
-packmol                   20.010               h86c2bf4_0    conda-forge
-packmol-memgen            2023.2.24                pypi_0    pypi
-pandas                    2.1.1            py39hddac248_1    conda-forge
-pandoc                    2.19.2               h32600fe_2    conda-forge
-pandocfilters             1.5.0              pyhd3eb1b0_0
-panedr                    0.7.2              pyhd8ed1ab_0    conda-forge
-papermill                 2.2.2              pyhd8ed1ab_0    conda-forge
-parmed                    4.1.0            py39h227be39_0    conda-forge
-parso                     0.8.3              pyhd3eb1b0_0
-partd                     1.4.0            py39h06a4308_0
-pathspec                  0.10.3           py39h06a4308_0
-pathtools                 0.1.2                    pypi_0    pypi
-pbr                       5.11.1             pyhd8ed1ab_0    conda-forge
-pcre2                     10.40                hc3806b6_0    conda-forge
-pdb4amber                 22.0                     pypi_0    pypi
-perl                      5.32.1          4_hd590300_perl5    conda-forge
-pexpect                   4.8.0              pyhd3eb1b0_3
-pickleshare               0.7.5           pyhd3eb1b0_1003
-pillow                    10.0.1           py39ha6cbd5a_0
-pint                      0.19.2             pyhd8ed1ab_0    conda-forge
-pip                       23.3               pyhd8ed1ab_0    conda-forge
-pixman                    0.42.2               h59595ed_0    conda-forge
-pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
-platformdirs              3.10.0           py39h06a4308_0
-pluggy                    1.0.0            py39h06a4308_1
-prometheus_client         0.14.1           py39h06a4308_0
-prompt-toolkit            3.0.36           py39h06a4308_0
-protobuf                  4.24.4                   pypi_0    pypi
-psutil                    5.9.0            py39h5eee18b_0
-ptyprocess                0.7.0              pyhd3eb1b0_2
-pure_eval                 0.2.2              pyhd3eb1b0_0
-py-cpuinfo                9.0.0              pyhd8ed1ab_0    conda-forge
-py-xgboost                1.7.6           cuda118py39h6e70402_5    conda-forge
-pyarrow                   13.0.0          py39h6925388_9_cpu    conda-forge
-pycairo                   1.21.0           py39h287db57_0
-pycparser                 2.21               pyhd3eb1b0_0
-pydantic                  1.10.13          py39hd1e30aa_0    conda-forge
-pyedr                     0.7.2              pyhd8ed1ab_0    conda-forge
-pyg                       2.4.0           py39_torch_2.1.0_cpu    pyg
-pygments                  2.15.1           py39h06a4308_1
-pymsmt                    22.0                     pypi_0    pypi
-pyparsing                 3.0.9            py39h06a4308_0
-pyrsistent                0.18.0           py39heee7806_0
-pysocks                   1.7.1            py39h06a4308_0
-pytables                  3.9.1            py39hfbd31a7_0    conda-forge
-pytest                    7.4.2              pyhd8ed1ab_0    conda-forge
-pytest-cov                4.1.0              pyhd8ed1ab_0    conda-forge
-pytest-xdist              3.3.1              pyhd8ed1ab_0    conda-forge
-python                    3.9.18          h0755675_0_cpython    conda-forge
-python-constraint         1.4.0                      py_0    conda-forge
-python-dateutil           2.8.2              pyhd3eb1b0_0
-python-fastjsonschema     2.16.2           py39h06a4308_0
-python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
-python-lmdb               1.4.1            py39h6a678d5_0
-python-tzdata             2023.3             pyhd3eb1b0_0
-python_abi                3.9                      4_cp39    conda-forge
-pytorch                   2.1.0               py3.9_cpu_0    pytorch
-pytorch-lightning         2.1.0              pyhd8ed1ab_0    conda-forge
-pytorch-mutex             1.0                         cpu    pytorch
-pytraj                    2.0.6                    pypi_0    pypi
-pytz                      2023.3.post1     py39h06a4308_0
-pyyaml                    6.0              py39h5eee18b_1
-pyzmq                     25.1.1           py39hb257651_1    conda-forge
-rdkit                     2023.09.1        py39hce5ca95_0    conda-forge
-rdma-core                 28.9                 h59595ed_1    conda-forge
-re2                       2023.06.02           h2873b5e_0    conda-forge
-readline                  8.2                  h5eee18b_0
-referencing               0.30.2             pyhd8ed1ab_0    conda-forge
-reportlab                 3.5.67           py39hfdd840d_1
-requests                  2.31.0             pyhd8ed1ab_0    conda-forge
-rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
-rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.10.6           py39h9fdd4d6_0    conda-forge
-ruamel.yaml               0.17.35          py39hd1e30aa_0    conda-forge
-ruamel.yaml.clib          0.2.6            py39h5eee18b_1
-s2n                       1.3.54               h06160fa_0    conda-forge
-sander                    22.0                     pypi_0    pypi
-scikit-learn              1.3.0            py39h1128e8f_0
-scipy                     1.11.3           py39h5f9d8c6_0
-seaborn                   0.12.2           py39h06a4308_0
-send2trash                1.8.2              pyh41d4057_0    conda-forge
-sentry-sdk                1.32.0                   pypi_0    pypi
-setproctitle              1.3.3                    pypi_0    pypi
-setuptools                68.0.0           py39h06a4308_0
-simplejson                3.17.6           py39h7f8727e_0
-six                       1.16.0             pyhd3eb1b0_1
-sklearn-pytorch           0.1.0                    pypi_0    pypi
-smirnoff99frosst          1.1.0              pyh44b312d_0    conda-forge
-smmap                     5.0.1                    pypi_0    pypi
-snappy                    1.1.10               h9fff704_0    conda-forge
-sniffio                   1.2.0            py39h06a4308_1
-snowballstemmer           2.2.0                    pypi_0    pypi
-sortedcontainers          2.4.0              pyhd3eb1b0_0
-soupsieve                 2.5              py39h06a4308_0
-sphinx                    7.2.6                    pypi_0    pypi
-sphinxcontrib-applehelp   1.0.7                    pypi_0    pypi
-sphinxcontrib-devhelp     1.0.5                    pypi_0    pypi
-sphinxcontrib-htmlhelp    2.0.4                    pypi_0    pypi
-sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
-sphinxcontrib-qthelp      1.0.6                    pypi_0    pypi
-sphinxcontrib-serializinghtml 1.1.9                    pypi_0    pypi
-sqlalchemy                2.0.21           py39h5eee18b_0
-stack_data                0.2.0              pyhd3eb1b0_0
-swagger-spec-validator    3.0.3              pyhd8ed1ab_0    conda-forge
-sympy                     1.11.1           py39h06a4308_0
-tbb                       2021.8.0             hdb19cb5_0
-tblib                     1.7.0              pyhd3eb1b0_0
-tenacity                  8.2.2            py39h06a4308_0
-terminado                 0.17.1           py39h06a4308_0
-textwrap3                 0.9.2                      py_0    conda-forge
-threadpoolctl             2.2.0              pyh0d69192_0
-tidynamics                1.1.2              pyhd8ed1ab_0    conda-forge
-tinycss2                  1.2.1            py39h06a4308_0
-tk                        8.6.13               h2797004_0    conda-forge
-toml                      0.10.2             pyhd3eb1b0_0
-tomli                     2.0.1            py39h06a4308_0
-toolz                     0.12.0           py39h06a4308_0
-torchmetrics              0.11.4           py39h2f386ee_1
-torchvision               0.16.0                   pypi_0    pypi
-tornado                   6.3.3            py39h5eee18b_0
-tqdm                      4.66.1             pyhd8ed1ab_0    conda-forge
-traitlets                 5.7.1            py39h06a4308_0
-types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
-typing                    3.10.0.0         py39h06a4308_0
-typing-extensions         4.7.1            py39h06a4308_0
-typing_extensions         4.7.1            py39h06a4308_0
-typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
-tzdata                    2023c                h04d1e81_0
-ucx                       1.15.0               h64cca9d_0    conda-forge
-uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
-urllib3                   2.0.3            py39h06a4308_0
-wandb                     0.15.12                  pypi_0    pypi
-watermark                 2.4.3              pyhd8ed1ab_0    conda-forge
-wcwidth                   0.2.5              pyhd3eb1b0_0
-webcolors                 1.13               pyhd8ed1ab_0    conda-forge
-webencodings              0.5.1            py39h06a4308_1
-websocket-client          0.58.0           py39h06a4308_4
-wheel                     0.41.2           py39h06a4308_0
-widgetsnbextension        4.0.5            py39h06a4308_0
-xgboost                   1.7.6           cuda118py39h6e70402_5    conda-forge
-xmltodict                 0.13.0             pyhd8ed1ab_0    conda-forge
-xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
-xorg-libice               1.1.1                hd590300_0    conda-forge
-xorg-libsm                1.2.4                h7391055_0    conda-forge
-xorg-libx11               1.8.7                h8ee46fc_0    conda-forge
-xorg-libxext              1.3.4                h0b41bf4_2    conda-forge
-xorg-libxrender           0.9.11               hd590300_0    conda-forge
-xorg-libxt                1.3.0                hd590300_1    conda-forge
-xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
-xorg-xextproto            7.3.0             h0b41bf4_1003    conda-forge
-xorg-xproto               7.0.31            h27cfd23_1007
-xyzservices               2022.9.0         py39h06a4308_1
-xz                        5.4.2                h5eee18b_0
-yaml                      0.2.5                h7b6447c_0
-zeromq                    4.3.4                h2531618_0
-zict                      3.0.0            py39h06a4308_0
-zipp                      3.11.0           py39h06a4308_0
-zlib                      1.2.13               hd590300_5    conda-forge
-zlib-ng                   2.0.7                h0b41bf4_0    conda-forge
-zstd                      1.5.5                hc292b87_0
-
-
-
-
[39]:
-
-
-
%%capture cap --no-stderr
-w = watermark()
-
-
-
-
-
[40]:
-
-
-
import json
-
-with open(OUT / "performance.json", "w") as f:
-    json.dump(metrics, f, default=str, indent=2)
-
-with open(OUT/ "watermark.txt", "w") as f:
-    f.write(cap.stdout)
-
-with open(OUT / "hparams.json", "w") as f:
-    json.dump(_hparams, f, default=str, indent=2)
-
-
-
-

And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!

-
-
-
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/notebooks/ligand-only-smiles-EGFR.ipynb b/docs/_build/html/notebooks/ligand-only-smiles-EGFR.ipynb deleted file mode 100644 index 9f483080..00000000 --- a/docs/_build/html/notebooks/ligand-only-smiles-EGFR.ipynb +++ /dev/null @@ -1,13678 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ligand-only SMILES experiment\n", - "\n", - "In this notebook we will run an experiment using KinoML. In this case we will focus on ligands that have affinity for the kinase EGFR. To run this experiments we will use `kinoml.features.ligand.OneHotSMILESFeaturizer`, which means that we will only use ligand information to train our model and run our experiments. This notebook is divided into two parts, the first part is about featurizing the dataset and the second part is the actual experiment." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Featurize the dataset\n", - "\n", - "Any machine learning model will expect tensorial representations of the chemical data. This notebooks provides a workflow to achieve such goal.\n", - "\n", - "`kinoml.dataset.DatasetProvider` objects need to be available to deal with your collection of raw measurements for protein:ligand systems. These objects are, roughly, a list of `kinoml.core.BaseMeasurement`, each containing a set of `.values` and a some extra metadata, like the `system` objects to be featurized here.\n", - "\n", - "In ligand-based models, protein information is only considered marginally, and most of the action happens at the ligand level. Usually starting with a string representation such as SMILES, or a database identifier such as a PubChem ID, these are promoted to (usually) RDKit objects and then transformed into a tensor of some form (e.g. fingerprints, molecular graph as an adjacency matrix, etc).\n", - "\n", - "Available featurizers can be found under `kinoml.features`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "papermill": { - "duration": 0.01276, - "end_time": "2023-11-01T15:27:21.712240", - "exception": false, - "start_time": "2023-11-01T15:27:21.699480", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# If this is the template file (and not a copy) and you are introducing changes,\n", - "# update VERSION with the current date (YYYY.MM.DD)\n", - "VERSION = \"2023.11.06\" " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#fuction to obtain current working path to ouput results\n", - "def main():\n", - " parameters[\"HERE\"] = str(nbout.parent.resolve())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005488, - "end_time": "2023-11-01T15:27:21.723562", - "exception": false, - "start_time": "2023-11-01T15:27:21.718074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we will define the parameters of our featurization pipeline. Note that you can adapt these parameters to your data and any experiments you want to run. If you use a different dataset, please make sure it is processed (e.g. no empty values, repeated entries, etc...)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "papermill": { - "duration": 0.010962, - "end_time": "2023-11-01T15:27:21.756923", - "exception": false, - "start_time": "2023-11-01T15:27:21.745961", - "status": "completed" - }, - "tags": [ - "injected-parameters" - ] - }, - "outputs": [], - "source": [ - "# Parameters\n", - "DATASET_CLS = \"kinoml.datasets.chembl.ChEMBLDatasetProvider\"\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\", #your dataset\n", - " \"measurement_types\": [\"pIC50\", \"pKd\", \"pKi\"], #the type of measurements you are interested in\n", - " \"uniprot_ids\": [\"P00533\"], #the kinase\n", - " \"sample\": 1000, #number of samples you want to work with, to run the notebook faster you can pick a smaller number\n", - "}\n", - "DATASET_KWARGS = {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000,\n", - "}\n", - "PIPELINES = {\n", - " \"ligand\": [\n", - " [\"kinoml.features.ligand.OneHotSMILESFeaturizer\", {}],\n", - " [\"kinoml.features.core.PadFeaturizer\", {\"shape\": \"auto\"}],\n", - " ]\n", - "}\n", - "PIPELINES_AGG = \"kinoml.features.core.TupleOfArrays\"\n", - "PIPELINES_AGG_KWARGS = {}\n", - "FEATURIZE_KWARGS = {\"keep\": False}\n", - "GROUPS = [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: measurement.system.protein.name\"},\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\"function\": \"lambda measurement: type(measurement).__name__\"},\n", - " ],\n", - "]\n", - "TRAIN_TEST_VAL_KWARGS = {\"idx_train\": 0.8, \"idx_test\": 0.1, \"idx_val\": 0.1}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005698, - "end_time": "2023-11-01T15:27:21.768372", - "exception": false, - "start_time": "2023-11-01T15:27:21.762674", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "⚠ If you are adapting this notebook to your own dataset, you should _not_ need to modify anything from here 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2023-11-01T15:27:21.787384", - "exception": false, - "start_time": "2023-11-01T15:27:21.774365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "HERE = Path(HERE)\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "# Generate paths for this pipeline\n", - "featurizer_path = []\n", - "for name, branch in PIPELINES.items():\n", - " featurizer_path.append(name)\n", - " for clsname, kwargs in branch:\n", - " clsname = clsname.rsplit(\".\", 1)[1]\n", - " kwargs = [f\"{k}={''.join(c for c in str(v) if c.isalnum())}\" for k,v in kwargs.items()]\n", - " featurizer_path.append(\"_\".join([clsname] + kwargs))\n", - "\n", - "OUT = HERE / \"_output\" / \"__\".join(featurizer_path) / DATASET_CLS.rsplit('.', 1)[1]\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparametrs) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.006065, - "end_time": "2023-11-01T15:27:21.816139", - "exception": false, - "start_time": "2023-11-01T15:27:21.810074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Setup is finished, start working" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "papermill": { - "duration": 1.00868, - "end_time": "2023-11-01T15:27:22.830854", - "exception": false, - "start_time": "2023-11-01T15:27:21.822174", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:13.189152\n" - ] - } - ], - "source": [ - "from warnings import warn\n", - "import os\n", - "import sys\n", - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "\n", - "from kinoml.utils import seed_everything, import_object\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.00577, - "end_time": "2023-11-01T15:27:22.842480", - "exception": false, - "start_time": "2023-11-01T15:27:22.836710", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Load raw data\n", - "\n", - "> This `import_object` function allows us to take a `str` containing a Python import path (e.g. `kinoml.datasets.chembl.ChEMBLDatasetProvider`) and obtain the imported object directly. That's how we can encode classes in JSON-only `papermill` inputs.\n", - ">\n", - "> See the help message `import_object?` for more info.\n", - "Note that you need an OE license" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "papermill": { - "duration": 1.135279, - "end_time": "2023-11-01T15:27:23.983238", - "exception": false, - "start_time": "2023-11-01T15:27:22.847959", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/raquellrdc/anaconda3/envs/kinoml_env/lib/python3.9/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n", - " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e50be96627845d99da5665551000c4f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/1000 [00:00" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "dataset = import_object(DATASET_CLS).from_source(**DATASET_KWARGS)\n", - "dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "papermill": { - "duration": 0.031255, - "end_time": "2023-11-01T15:27:24.020410", - "exception": false, - "start_time": "2023-11-01T15:27:23.989155", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Systemsn_componentsMeasurementMeasurementType
0P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl...26.142668pIC50Measurement
1P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn...28.221849pIC50Measurement
2P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br...29.568636pIC50Measurement
3P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc...28.397940pIC50Measurement
4P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN...25.161151pIC50Measurement
...............
995P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c125.000000pKiMeasurement
996P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc122.853872pKiMeasurement
997P00533 & N#CC(C#N)=Cc1ccc(O)cc123.795880pKiMeasurement
998P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c...27.744727pKiMeasurement
999P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN...26.793174pKiMeasurement
\n", - "

1000 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Systems n_components \\\n", - "0 P00533 & CC(=O)c1ccccc1-n1c(-c2ccccc2)nc2cc(Cl... 2 \n", - "1 P00533 & COc1cc(C=O)ccc1-c1cc2c(NCc3ccccc3)ncn... 2 \n", - "2 P00533 & O=C(CCN1CCCCC1)Nc1ccc2ncnc(Nc3cccc(Br... 2 \n", - "3 P00533 & C=CC(=O)Nc1cc2c(Nc3ccc(F)c(Cl)c3)ncnc... 2 \n", - "4 P00533 & N#Cc1cnc(Nc2cccc(Br)c2)c2cc(NC(=O)CCN... 2 \n", - ".. ... ... \n", - "995 P00533 & N#CC(C#N)=Cc1cc(O)cc(O)c1 2 \n", - "996 P00533 & CN(C)c1ccc(/C=C(\\C#N)C(=O)O)cc1 2 \n", - "997 P00533 & N#CC(C#N)=Cc1ccc(O)cc1 2 \n", - "998 P00533 & COC1CCN(c2nccc(Nc3cc4c(C(C)C)n[nH]c4c... 2 \n", - "999 P00533 & C=CC(=O)N[C@@H]1CCN(c2nc(Nc3ccc(N4CCN... 2 \n", - "\n", - " Measurement MeasurementType \n", - "0 6.142668 pIC50Measurement \n", - "1 8.221849 pIC50Measurement \n", - "2 9.568636 pIC50Measurement \n", - "3 8.397940 pIC50Measurement \n", - "4 5.161151 pIC50Measurement \n", - ".. ... ... \n", - "995 5.000000 pKiMeasurement \n", - "996 2.853872 pKiMeasurement \n", - "997 3.795880 pKiMeasurement \n", - "998 7.744727 pKiMeasurement \n", - "999 6.793174 pKiMeasurement \n", - "\n", - "[1000 rows x 4 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#visualise your dataset!\n", - "\n", - "df = dataset.to_dataframe()\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.005945, - "end_time": "2023-11-01T15:27:24.032515", - "exception": false, - "start_time": "2023-11-01T15:27:24.026570", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Featurize\n", - "\n", - "Now, let's convert the data set into somehting that is ML-readable!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "papermill": { - "duration": 0.012341, - "end_time": "2023-11-01T15:27:24.050633", - "exception": false, - "start_time": "2023-11-01T15:27:24.038292", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building featurizer `ligand` with instructions:\n", - " Instantiating `kinoml.features.ligand.OneHotSMILESFeaturizer` with options `{}`\n", - " Instantiating `kinoml.features.core.PadFeaturizer` with options `{'shape': 'auto'}`\n", - "Resulting pipelines: \n", - "Aggregated pipelines: \n" - ] - } - ], - "source": [ - "# build pipeline\n", - "from kinoml.features.core import Pipeline\n", - "\n", - "pipelines = []\n", - "for key, pipeline_instructions in PIPELINES.items():\n", - " print(f\"Building featurizer `{key}` with instructions:\")\n", - " featurizers = []\n", - " for featurizer_import_str, kwargs in pipeline_instructions:\n", - " kwargs = kwargs or {} # make sure empty values (None, \"\") turn into {} so we can do **kwargs below\n", - " print(f\" Instantiating `{featurizer_import_str}` with options `{kwargs}`\")\n", - " featurizers.append(import_object(featurizer_import_str)(**kwargs))\n", - " pipelines.append(Pipeline(featurizers))\n", - "print(\"Resulting pipelines:\", *pipelines)\n", - "aggregated_pipeline = import_object(PIPELINES_AGG)(pipelines, **PIPELINES_AGG_KWARGS)\n", - "print(\"Aggregated pipelines:\", aggregated_pipeline)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "papermill": { - "duration": 4.049051, - "end_time": "2023-11-01T15:27:28.105993", - "exception": false, - "start_time": "2023-11-01T15:27:24.056942", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[, )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>,\n", - " , )>]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 109, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 46, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >, >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 44, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 35, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 71, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 69, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 2, chiral: False to atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 67, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 15, aromatic: False, chiral: False\n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 52, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 51, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 58, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 53, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 108, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 61, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 63, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 58, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 16, name: , idx: 60, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 59, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 61, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 62, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 44, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 15, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 2, chiral: False to atom atomic num: 8, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 72, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True\n", - "Atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 35, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 74, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 39, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 42, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 55, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 65, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 48, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 47, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >, >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 23, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 29, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 36, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 40, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 28, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 17, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 37, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 10, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 56, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 53, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: True, chiral: False\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 12, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 52, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 43, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 20, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 42, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 57, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 34, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 49, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 6, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 51, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 59, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 27, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 60, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 64, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 32, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 66, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 68, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 1, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 0, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 24, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 45, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 18, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic bonds are: [ >]\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 11, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 19, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 30, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 13, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 12, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 30, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 32, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 1, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 30, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 41, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 5, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 16, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 8, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 24, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 54, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 8, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 9, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 16, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 17, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 18, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 7, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 25, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 10, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 32, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 31, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 33, aromatic: False, chiral: False\n", - "Atom atomic num: 6, name: , idx: 35, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 34, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 36, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 41, aromatic: False, chiral: False\n", - "Atom atomic num: 7, name: , idx: 38, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 37, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 39, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 40, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 14, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: True, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 33, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 27, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 26, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 29, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 8, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 36, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 7, name: , idx: 22, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 23, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 28, aromatic: False, chiral: True\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 5, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 13, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 38, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 3, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 7, name: , idx: 2, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 6, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 24, aromatic: False, chiral: False\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Warning (not error because allow_undefined_stereo=True): OEMol has unspecified stereochemistry. oemol.GetTitle(): \n", - "Problematic atoms are:\n", - "Atom atomic num: 6, name: , idx: 21, aromatic: False, chiral: True with bonds:\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 15, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 4, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 6, name: , idx: 22, aromatic: False, chiral: False\n", - "bond order: 1, chiral: False to atom atomic num: 1, name: , idx: 50, aromatic: False, chiral: False\n", - "\n" - ] - } - ], - "source": [ - "%%capture --no-display\n", - "# to hide warnings\n", - "\n", - "aggregated_pipeline.featurize(dataset.systems, **FEATURIZE_KWARGS);" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017649, - "end_time": "2023-11-01T15:27:28.141829", - "exception": false, - "start_time": "2023-11-01T15:27:28.124180", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Filter" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017523, - "end_time": "2023-11-01T15:27:28.177286", - "exception": false, - "start_time": "2023-11-01T15:27:28.159763", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Remove systems that couldn't be featurized. Successful featurizations are stored in `measurement.system.featurizations['last']` so we test for that key existence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "papermill": { - "duration": 0.027352, - "end_time": "2023-11-01T15:27:28.222175", - "exception": false, - "start_time": "2023-11-01T15:27:28.194823", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from kinoml.datasets.groups import CallableGrouper, RandomGrouper\n", - "grouper = CallableGrouper(lambda measurement: 'invalid' if 'last' not in measurement.system.featurizations else 'valid')\n", - "grouper.assign(dataset, overwrite=True, progress=False)\n", - "groups = dataset.split_by_groups()\n", - "if \"invalid\" in groups:\n", - " _invalid = groups.pop(\"invalid\")\n", - " warn(f\"{len(_invalid)} entries could not be featurized!. Possible errors:\")\n", - " warn(f\"{_invalid[0].system.featurizations}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.018511, - "end_time": "2023-11-01T15:27:28.258900", - "exception": false, - "start_time": "2023-11-01T15:27:28.240389", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Groups\n", - "\n", - "Cumulatively apply groups." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "papermill": { - "duration": 0.025957, - "end_time": "2023-11-01T15:27:28.303483", - "exception": false, - "start_time": "2023-11-01T15:27:28.277526", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10 groups to show keys:\n", - "('valid', 'P00533', 'pIC50Measurement')\n", - "('valid', 'P00533', 'pKdMeasurement')\n", - "('valid', 'P00533', 'pKiMeasurement')\n" - ] - } - ], - "source": [ - "groups[(\"valid\",)] = groups.pop(\"valid\")\n", - "if GROUPS:\n", - " for grouper_str, grouper_kwargs in GROUPS:\n", - " grouper_cls = import_object(grouper_str)\n", - " ## We need this because lambda functions are not JSON-serializable\n", - " if issubclass(grouper_cls, CallableGrouper):\n", - " for k, v in list(grouper_kwargs.items()):\n", - " if k == \"function\" and isinstance(v, str):\n", - " grouper_kwargs[k] = eval(v) # sorry :)\n", - " ## End of lambda hack\n", - " grouper = grouper_cls(**grouper_kwargs) \n", - " for group_key in list(groups.keys()):\n", - " grouper.assign(groups[group_key], overwrite=True, progress=False)\n", - " for subkey, subgroup in groups.pop(group_key).split_by_groups().items():\n", - " groups[group_key + (subkey,)] = subgroup\n", - "print(\"10 groups to show keys:\", *list(groups.keys())[:10], sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017065, - "end_time": "2023-11-01T15:27:28.338027", - "exception": false, - "start_time": "2023-11-01T15:27:28.320962", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Write tensors to disk\n", - "\n", - "Output files are written to `_output///.parquet` files.\n", - "\n", - "Each `parquet` will contain at least two array-like objects. The dimensionality of the parquet files is built as `(systems, X_or_y, ...)`. For example, the first X vector for the first system is accessed like `parquet[0, \"0\"]`. Notice how the 2nd index is a string! (`awkward` design).\n", - "\n", - "- `\"0\"` (X, featurized systems). See `DatasetProvider.to_awkward` for more info.\n", - "- `\"1\"` (y, associated measurements)\n", - "\n", - "If `X` is composed of more than one array (e.g. connectivity matrix + node features), these are flattened to `\"0\"`, `\"1\"`, `\"2\"`, and so on. `y` is ALWAYS the last one in that list (accessible via `data.fields`)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "papermill": { - "duration": 31.673706, - "end_time": "2023-11-01T15:28:00.028555", - "exception": false, - "start_time": "2023-11-01T15:27:28.354849", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "random_grouper = RandomGrouper(TRAIN_TEST_VAL_KWARGS)\n", - "\n", - "parquets = []\n", - "for group, ds in sorted(groups.items(), key=lambda kv: len(kv[1]), reverse=True):\n", - " indices = random_grouper.indices(ds)\n", - " X, y = ds.to_awkward()\n", - " parquet = ak.zip([*X, y], depth_limit=1)\n", - " path = OUT / f\"{'__'.join([g for g in group if g != 'valid'])}.parquet\"\n", - " parquets.append(path)\n", - " ak.to_parquet(parquet, path)\n", - " # TODO: Missing indices?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.017289, - "end_time": "2023-11-01T15:28:00.062756", - "exception": false, - "start_time": "2023-11-01T15:28:00.045467", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Preview generated Parquet files:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "papermill": { - "duration": 0.061184, - "end_time": "2023-11-01T15:28:00.140684", - "exception": false, - "start_time": "2023-11-01T15:28:00.079500", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from kinoml.datasets.torch_datasets import AwkwardArrayDataset\n", - "awk = AwkwardArrayDataset.from_parquet(parquets[0])\n", - "awk" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "papermill": { - "duration": 0.022168, - "end_time": "2023-11-01T15:28:00.180106", - "exception": false, - "start_time": "2023-11-01T15:28:00.157938", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X, y = awk[0] # (multi-X) and y tensors for first system" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "papermill": { - "duration": 0.023498, - "end_time": "2023-11-01T15:28:00.222502", - "exception": false, - "start_time": "2023-11-01T15:28:00.199004", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# X" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "papermill": { - "duration": 0.023163, - "end_time": "2023-11-01T15:28:00.264603", - "exception": false, - "start_time": "2023-11-01T15:28:00.241440", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# y" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "papermill": { - "duration": 0.023762, - "end_time": "2023-11-01T15:28:00.307429", - "exception": false, - "start_time": "2023-11-01T15:28:00.283667", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:15:40.593058\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.019404, - "end_time": "2023-11-01T15:28:00.346444", - "exception": false, - "start_time": "2023-11-01T15:28:00.327040", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Reproducibility logs" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "papermill": { - "duration": 0.023764, - "end_time": "2023-11-01T15:28:00.389625", - "exception": false, - "start_time": "2023-11-01T15:28:00.365861", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Free some memory first\n", - "del awk, parquets, groups, dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "papermill": { - "duration": 3.431168, - "end_time": "2023-11-01T15:28:03.839974", - "exception": false, - "start_time": "2023-11-01T15:28:00.408806", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:15:40.605328+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "numpy : 1.26.0\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:15:40 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 57C P8 17W / 10W | 46MiB / 16384MiB | 18% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "papermill": { - "duration": 3.352814, - "end_time": "2023-11-01T15:28:07.210171", - "exception": false, - "start_time": "2023-11-01T15:28:03.857357", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "papermill": { - "duration": 0.023487, - "end_time": "2023-11-01T15:28:07.250977", - "exception": false, - "start_time": "2023-11-01T15:28:07.227490", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. 💻Run the experiment\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Train a model with PyTorch\n", - "\n", - "\n", - "Now, we will train a single model using only PyTorch.\n", - "\n", - "1. Tensors are loaded from Parquet files generated in the `features/` pipeline. Each Parquet becomes a Torch Dataset sublass.\n", - "2. Random splits are applied for train/test/(val).\n", - "3. It will train a single for model for a number of epochs across all datasets: epoch> dataloader> minibatch.\n", - "4. The loss is computed through the `loss_adapter` method in each measurement_type.\n", - "5. If validation is enabled, early stopping and LR schedulers are applied." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ✏ Define hyper parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Parameters\n", - "PARQUET_LOADER_CLS = \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\"\n", - "PARQUET_FILES = [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"]\n", - "\n", - "# Model -- specified with the full import path to the class object\n", - "## Machine learning model that will be trained. Pass it as importable string.\n", - "MODEL_CLS = \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\"\n", - "## Keyword arguments for the model initialization\n", - "MODEL_KWARGS = {\"hidden_shape\": 350} # input_shape is defined dynamically during training\n", - "\n", - "# OPTIMIZER\n", - "## Optimizer class. Pass it as an importable string.\n", - "OPTIMIZER = \"torch.optim.Adam\"\n", - "## Keyword arguments for the optimizer\n", - "OPTIMIZER_KWARGS = {\"lr\": 0.001, \"eps\": 1e-7, \"betas\": [0.9, 0.999]}\n", - "\n", - "# LOSS FUNCTION\n", - "## Loss function class. Pass it as an importable string.\n", - "LOSS = \"torch.nn.MSELoss\"\n", - "## Keyword arguments for the loss function, if applicable\n", - "LOSS_KWARGS = {}\n", - "\n", - "# TRAINING\n", - "## Maximum number of epochs the training will run. In practice it might be less due to early stopping\n", - "MAX_EPOCHS = 50\n", - "## Enable real-time validation: this will split the test set into two halves: test and validation.\n", - "## It will also enable LR scheduling and early stopping, based on the validation loss.\n", - "VALIDATION = True\n", - "## Options for the builtin early stopper (kinoml.ml.torch_loops.EarlyStopping)\n", - "EARLY_STOPPING_KWARGS = {}\n", - "\n", - "# DATALOADER\n", - "DATALOADER_CLS = \"torch.utils.data.DataLoader\" # you can also use torch_geometric.data.DataLoader\n", - "## Minibatch size\n", - "BATCH_SIZE = 64\n", - "## Proportion of the dataset that will be split into a test set. If VALIDATION=True, \n", - "## this will also cover the validation set. So, 0.2 will mean: 0.8 training, 0.1 test, 0.1 valid.\n", - "TRAIN_TEST_SPLIT = 0.2\n", - "## Whether to shuffle the indices before splitting\n", - "SHUFFLE_SPLITS = True\n", - "## Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - "## IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - "COLLATE_FN = None\n", - "\n", - "# Plot bootstrapping\n", - "## Bootstrapping iterations for the performance plots\n", - "N_BOOTSTRAPS = 1\n", - "## Proportion of the data that is sampled in each iteration\n", - "BOOTSTRAP_SAMPLE_RATIO = 1\n", - "\n", - "# Output\n", - "## Enable some extra output, like plots and logging statements.\n", - "VERBOSE = False\n", - "\n", - "\n", - "HERE = _dh[-1] #current path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "⚠ From here on, you should _not_ need to modify anything else to apply it to your own dataset 🤞\n", - "\n", - "---\n", - "\n", - "Define key paths for data and outputs:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This notebook: HERE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\n", - "This repo: REPO = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\n", - "Features: FEATURES_STORE = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\n", - "Outputs in: OUT = /home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "from datetime import datetime\n", - "\n", - "HERE = Path(HERE)\n", - "\n", - "for parent in HERE.parents:\n", - " if next(parent.glob(\".github/\"), None):\n", - " REPO = parent\n", - " break\n", - "\n", - "FEATURES_STORE = REPO /\"examples\"/\"experiments\"\n", - " \n", - "OUT = HERE / \"_output\" / datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "OUT.mkdir(parents=True, exist_ok=True)\n", - "\n", - "print(f\"This notebook: HERE = {HERE}\")\n", - "print(f\"This repo: REPO = {REPO}\")\n", - "print(f\"Features: FEATURES_STORE = {FEATURES_STORE}\")\n", - "print(f\"Outputs in: OUT = {OUT}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Nasty trick: save all-caps local variables (CONSTANTS working as hyperparameters) so far in a dict to save it later\n", - "_hparams = {key: value for key, value in locals().items() if key.upper() == key and not key.startswith((\"_\", \"OE_\"))}" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run started at 2023-11-06 10:15:47.319083\n" - ] - } - ], - "source": [ - "from collections import defaultdict\n", - "from warnings import warn\n", - "import sys\n", - "import shutil\n", - "\n", - "from IPython.display import Markdown\n", - "import numpy as np\n", - "import pandas as pd\n", - "import torch\n", - "from torch.utils.data import DataLoader, SubsetRandomSampler\n", - "from tqdm.auto import trange, tqdm\n", - "\n", - "from kinoml.ml.torch_loops import LRScheduler, EarlyStopping\n", - "from kinoml.utils import seed_everything, import_object\n", - "from kinoml.core import measurements as measurement_types\n", - "from kinoml.core.measurements import null_observation_model\n", - "from kinoml.analysis.metrics import performance\n", - "from kinoml.analysis.plots import predicted_vs_observed\n", - "\n", - "# Fix the seed for reproducible random splits -- otherwise we get mixed train/test groups every time, biasing the model evaluation\n", - "seed_everything();\n", - "print(\"Run started at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load featurized data and create observation models\n", - "\n", - "We assume this path structure: `$REPO/features/_output///.npz`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\n" - ] - } - ], - "source": [ - "DATASETS = []\n", - "MEASUREMENT_TYPES = set()\n", - "ParquetLoaderCls = import_object(PARQUET_LOADER_CLS)\n", - "for glob in PARQUET_FILES:\n", - " print(glob)\n", - " parquets = list(FEATURES_STORE.glob(glob))\n", - " if not parquets:\n", - " warn(f\"⚠ Parquet glob `{glob}` did not match any files!\")\n", - " continue\n", - " \n", - " for parquet in parquets:\n", - " measurement_type = parquet.stem\n", - " dataset = parquet.parent.name\n", - " \n", - " ds = ParquetLoaderCls.from_parquet(parquet)\n", - " ds.metadata = {\n", - " \"dataset\": dataset,\n", - " \"measurement_type\": measurement_type,\n", - " }\n", - " DATASETS.append(ds)\n", - " MEASUREMENT_TYPES.add(measurement_type)\n", - "\n", - "if not DATASETS:\n", - " raise ValueError(\"Provided `PARQUET_FILES` did not result in any valid datasets!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have all the data-dependent objects, we can start with the model-specific definitions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Loaded 3 datasets with a total of 1000 measurements.\n" - ] - } - ], - "source": [ - "print(f\"Loaded {len(DATASETS)} datasets with a total of {sum(len(d) for d in DATASETS)} measurements.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Prepare splits and dataloaders\n", - "\n", - "Create train / test / validation subsets. Here we implement a random split, but it can take external indices if needed." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "dataloaders = {}\n", - "for dataset in DATASETS:\n", - " key = dataset.metadata[\"measurement_type\"]\n", - " \n", - " # Generate random indices in situ\n", - " # If you need to provide indices from another source, \n", - " # replace this block to provide train_indices, test_indices\n", - " dataset_size = len(dataset)\n", - " indices = list(range(dataset_size))\n", - " split = int(np.floor(TRAIN_TEST_SPLIT * dataset_size))\n", - " \n", - " if SHUFFLE_SPLITS :\n", - " np.random.shuffle(indices)\n", - " train_indices, test_indices = indices[split:], indices[split:]\n", - " if VALIDATION:\n", - " split2 = int(np.floor(len(test_indices) / 2))\n", - " test_indices, val_indices = test_indices[:split2], test_indices[split2:]\n", - " # End of indices creation\n", - " \n", - " collate_fn = None\n", - " if COLLATE_FN:\n", - " # IMPORTANT: This will be needed if your X tensors have different shapes across systems!\n", - " # COLLATE_FN can be an import string, or a eval-able lambda\n", - " # Read https://pytorch.org/docs/stable/data.html#dataloader-collate-fn\n", - " try:\n", - " collate_fn = import_object(COLLATE_FN)\n", - " except ImportError:\n", - " collate_fn = eval(COLLATE_FN)\n", - " \n", - " # Creating PT data samplers and loaders:\n", - " train_sampler = SubsetRandomSampler(train_indices)\n", - " test_sampler = SubsetRandomSampler(test_indices)\n", - "\n", - " dataloaders[key] = {\n", - " \"train\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=train_sampler, collate_fn=collate_fn),\n", - " \"test\": import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=test_sampler, collate_fn=collate_fn),\n", - " }\n", - " \n", - " if VALIDATION:\n", - " val_sampler = SubsetRandomSampler(val_indices)\n", - " dataloaders[key][\"val\"] = import_object(DATALOADER_CLS)(dataset, batch_size=BATCH_SIZE, sampler=val_sampler, collate_fn=collate_fn)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Training loop" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe85481c85794e4c96050287e22999ce", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epochs: 0%| | 0/50 [00:00" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1604±0.0194 95CI=(0.1331, 0.1940)\n", - " MSE: 0.0351±0.0071 95CI=(0.0248, 0.0473)\n", - " R2: 0.9759±0.0147 95CI=(0.9517, 0.9889)\n", - "RMSE: 0.1863±0.0188 95CI=(0.1575, 0.2175)\n" - ] - }, - { - "data": { - "image/png": "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lh05ckTrNlu0aAEnJyfs2bMHEydOrPB5+T2z0tJS1TJPT080atQIly9fxqhRozRuNygoCF9++SX+/vtvVWhWVgeRsfCSI5ER9O/fHyEhIXj66afx008/4cqVKzh06BBmz56N1NRUAMDUqVOxatUqrFq1CufPn0dMTAxOnz6tdZuOjo6YPn063nnnHXzxxRe4dOkSjhw5gpUrVwIAPDw84OTkhB07duCPP/5AXl4egAcPa8fFxWHJkiU4f/48Tp06hdWrV+PDDz8EAIwcORI2NjaYMGECMjIysH37dnzwwQcG/gkRVR8DjcgIZDIZtm/fjp49e2L8+PF47LHHMGLECFy5cgWenp4AgOHDh2Pu3LmYPn06OnbsiKtXr+LVV1+tdLtz5szBW2+9hblz56JVq1YYPnw4cnNzAQB2dnb45JNPsHz5cvj4+GDo0KEAgIkTJ+K///0vEhMT0aZNG/Tq1QuJiYmqbv5169bFtm3bkJGRgfbt22PWrFlYvHixAX86RPqRCV4gJyIiC8AzNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisggMNCIisgj/D6xljPwuj5V/AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1827±0.0276 95CI=(0.1317, 0.2254)\n", - " MSE: 0.0421±0.0114 95CI=(0.0218, 0.0610)\n", - " R2: 0.9659±0.0406 95CI=(0.8957, 0.9884)\n", - "RMSE: 0.2032±0.0285 95CI=(0.1476, 0.2470)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1334±0.0305 95CI=(0.0860, 0.1868)\n", - " MSE: 0.0267±0.0107 95CI=(0.0119, 0.0438)\n", - " R2: 0.9695±0.0289 95CI=(0.9180, 0.9935)\n", - "RMSE: 0.1599±0.0329 95CI=(0.1090, 0.2092)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.3447±0.1288 95CI=(0.1899, 0.5692)\n", - " MSE: 0.3078±0.2553 95CI=(0.0473, 0.7105)\n", - " R2: 0.7518±0.2481 95CI=(0.2974, 0.9662)\n", - "RMSE: 0.5049±0.2301 95CI=(0.2174, 0.8429)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.2467±0.0704 95CI=(0.1483, 0.3732)\n", - " MSE: 0.0879±0.0470 95CI=(0.0278, 0.1694)\n", - " R2: 0.7269±0.9792 95CI=(0.6081, 0.9601)\n", - "RMSE: 0.2860±0.0784 95CI=(0.1666, 0.4116)\n" - ] - }, - { - "data": { - "image/png": "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9cjMzMSFCxcAAKdPn0ZkZKTaazz48/1Onz6NoqIi9O7dW+cx//3338jKysLEiRPVxvHOO++ojSMiIgKurq46jYPIXHjIkchAevbsicTERDg6OsLf31/txA83Nze1ecvKyuDn54fU1NQK66ldu7Zer+/i4lLtZcrKygDcO+zYoUMHtefKD40K3mGKrASDRmQgbm5uaNSokU7ztm7dGjk5OXBwcEBwcLDGeZo2bYoDBw5g3LhxqmkHDhzQus7GjRvDxcUFv/zyCyZNmlTh+fLPzEpLS1XTfHx8UL9+fVy8eBFjxozRuN5mzZrhiy++wL///quKZmXjIDIXHnIkMoM+ffogMjISQ4cOxfbt23Hp0iXs27cPr732Go4cOQIAePHFF7Fq1SqsWrUKZ8+exdy5c3Hy5Emt63R2dkZcXBxeeeUVfP7557hw4QIOHDiAlStXAgC8vb3h4uKCbdu24a+//oJSqQRw72LthIQELF68GGfPnsWJEyewevVqLFq0CAAwevRo2NnZYeLEiTh16hS2bt2K9957z8h/QkTVx6ARmYFMJsPWrVvRrVs3TJgwAQ899BBGjhyJS5cuwcfHBwAwYsQIvPHGG4iLi0ObNm1w+fJlTJkypdL1vv7665g5cybeeOMNNG3aFCNGjMD169cBAA4ODliyZAk++eQT+Pv749FHHwUATJo0CZ999hmSkpIQHh6O7t27IykpSXWaf61atbB582acOnUKrVq1wpw5c7BgwQIj/ukQ6UcmeICciIgkgHtoREQkCQwaERFJAoNGRESSwKAREZEkMGhERCQJDBoREUkCg0ZERJLAoBERkSQwaEREJAkMGhERSQKDRkREksCgERGRJPwfSPAEs0HaciEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.4523±0.2470 95CI=(0.1672, 0.8707)\n", - " MSE: 0.5403±0.5099 95CI=(0.0346, 1.3158)\n", - " R2: -53.9573±538.8569 95CI=(-0.8780, 0.9748)\n", - "RMSE: 0.6364±0.3677 95CI=(0.1859, 1.1471)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbQAAAHFCAYAAACaSgwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+IElEQVR4nO3deVhU9eLH8c+wzSDCKCCbsokmLuS+4L7ibnYz3MUlK8PMtEKzgrwZ6m3TTCpTsWu2XLcyvS6lUG65gLngLiopXHIJFC7I8v394Y+5DjAwDLOcOfN5Pc88T3PmnDPfcXLenjPnzFEIIQSIiIisnJ2lB0BERGQMDBoREckCg0ZERLLAoBERkSwwaEREJAsMGhERyQKDRkREssCgERGRLDBoREQkCwwaSUZqaipGjhwJPz8/1KlTB6GhoVi4cCHy8/ON+jxBQUEYNmxYhelffPEF7O3tMWLECBQUFOhc/urVq1AoFEhMTNRMi4uLg0KhgJ2dHa5cuVJhmby8PLi5uUGhUGDy5MnGeBlUCxs2bMBHH31k6WGQkTFoJAlpaWno2rUrrl69io8++gg//vgjxowZg4ULF2Ls2LEmf/5//OMfmD59OsaPH4/NmzdDpVIZtJ66deti7dq1Fab/61//QlFRERwdHWs7VDICBk2eGDSShA0bNqCgoACbNm1CZGQk+vbti7i4OEybNg0//PAD7t69a7Lnfv311/Haa6/hxRdfxLp16+Dg4GDwukaPHo1169ahtLRUa/rq1avx5JNPwsnJqbbDtThjbzETGQuDRpJQtuWiVqu1pterVw92dnbVhmDy5MmoW7cuzpw5g379+sHFxQUNGjTAzJkzdX4Al5aWYsaMGYiPj8dbb72F5cuXQ6FQaM1z8+ZNREZGwtXVFWq1GqNHj0ZWVpbOcUydOhUZGRnYs2ePZtqFCxewf/9+TJ06tdJlcnNz8corryA4OBhOTk5o2LAhZs+ejby8PK35PvnkE/Ts2RNeXl5wcXFBWFgYli5diqKiIq35UlNTMWzYMHh5eUGpVMLPzw9Dhw7FH3/8AaDyXaZlFAoF4uLiNPfLdqWmpKRg1KhRqF+/PkJCQgAAQgisXLkSbdq0gbOzM+rXr49Ro0ZV2OXau3dvtGrVCocOHULXrl3h7OyMoKAgzZbs9u3b0a5dO9SpUwdhYWHYuXNnhXFdvHgR48aN07ym5s2b45NPPtGaJykpCQqFAl9//TUWLFgAPz8/uLm5oX///jh//rzWeLZv345r165BoVBobiQDgkgC0tPTRb169cSoUaPE5cuXRW5urti2bZtQq9XixRdfrHb5qKgo4eTkJAICAsSiRYvE7t27RVxcnHBwcBDDhg3TmjcwMFBERESIMWPGCIVCIZYtW1bpOvPz80Xz5s2FWq0WH3/8sdi1a5eYNWuWCAgIEADE2rVrNfPGxsYKAOLPP/8UPXr0EJGRkZrHYmJiRFBQkCgtLRUuLi4iKipK81heXp5o06aN8PT0FB988IH46aefxLJly4RarRZ9+/YVpaWlmnlffvllkZCQIHbu3Cn27t0rPvzwQ+Hp6SmmTJmimef+/fvCw8NDdOjQQXz33XciOTlZfPvtt+L5558XaWlpmj/r8uMvA0DExsZWeF2BgYEiJiZG7NmzR2zdulUIIcT06dOFo6OjmDt3rti5c6fYsGGDCA0NFd7e3iIrK0uzjl69egkPDw/RrFkzsXr1arFr1y4xbNgwAUC8/fbbIiwsTHz99ddix44dokuXLkKpVIobN25olj9z5oxQq9UiLCxMfPnll2L37t1i7ty5ws7OTsTFxWnm27dvnwAggoKCxPjx48X27dvF119/LQICAkTTpk1FcXGxZn3dunUTPj4+4tChQ5obWT8GjSTj7NmzIjQ0VADQ3GbNmqX1oa5LVFSUAFAhTosWLRIAxP79+zXTAgMDNet//fXXda4zISFBABDff/+91vTp06dXGbS1a9cKpVIpbt++LYqLi4Wvr6/mg7d80OLj44WdnZ04evSo1nNs3LhRABA7duyodGwlJSWiqKhIfPnll8Le3l7cuXNHCCHEsWPHBABNdCpjSNDeeustrfkOHTokAIj3339fa3pGRoZwdnYWr732mmZar169BABx7NgxzbTbt28Le3t74ezsrBWvEydOCABi+fLlmmkDBw4UjRo1Ejk5OVrPNXPmTKFSqTSvvSxoQ4YM0Zrvu+++EwC0ojV06FARGBio40+IrBV3OZIkXL16FcOHD4eHhwc2btyI5ORkLF26FImJiXjmmWf0Xs/48eO17o8bNw4AsG/fPq3pbdq0QUBAAFasWIHDhw9Xuq59+/bB1dUVI0aMqHSdujz99NNwcnLCV199hR07diArK0vnkY0//vgjWrVqhTZt2qC4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### train" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1833±0.0072 95CI=(0.1726, 0.1958)\n", - " MSE: 0.0722±0.0093 95CI=(0.0590, 0.0885)\n", - " R2: 0.9634±0.0046 95CI=(0.9540, 0.9695)\n", - "RMSE: 0.2682±0.0170 95CI=(0.2430, 0.2975)\n" - ] - }, - { - "data": { - "image/png": "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//79etvs3btXABD379+3XGFGio6OFk2bNjW4vS1/dkIIMXnyZFGnTh1RVFSk83Vb+uwAiC1btmi+LyoqEkqlUsyfP1+zLS8vT/j4+Ijly5frPc7AgQNF7969tbb16tVLDB482OQ1l0fx96fLsWPHBABx8+ZNvW1Wr14tfHx8TFucCeh6f1FRUeLFF18s13FM+fk5/BXa48ePcfLkSfTs2VNre8+ePXH48GGd+xw5cqRE+169euHEiRPIz883W62mkJWVBQDw9fUts23z5s0REBCAbt26Ye/eveYuzWhXrlxBYGAgQkNDMXjwYFy/fl1vW1v+7B4/fox169bh9ddfL3OibVv57J6WkpKC9PR0rc9HLpejU6dOev8tAvo/09L2kYqsrCzIZDJUrly51HaPHj1CcHAwatasib59+yIpKckyBRph37598Pf3xzPPPIOxY8ciIyOj1Pam/PwcPtDu3r2LwsJCVK9eXWt79erVkZ6ernOf9PR0ne0LCgpw9+5ds9VaUUIITJ06Fc899xwaN26st11AQAC+/PJLbNq0CZs3b0b9+vXRrVs3HDhwwILVGqZt27b4+uuvsWvXLqxYsQLp6elo37497t27p7O9rX52ABAfH48HDx5g5MiRetvY0mdXnPrfW3n+Lar3K+8+UpCXl4fp06dj6NChpU7a26BBA6xZswY//vgj/vOf/0ChUKBDhw64cuWKBas1TEREBL799lv8+uuv+L//+z8cP34cXbt2hUqlfxVKU35+dj/bvqGK/8UrhCj1r2Bd7XVtl5KJEyfizJkzOHjwYKnt6tevj/r162u+Dw8PR2pqKj799FM8//zz5i6zXCIiIjT/v0mTJggPD0edOnWwdu1aTJ06Vec+tvjZAcDKlSsRERGBwMBAvW1s6bPTp7z/Fo3dx5ry8/MxePBgFBUVYdmyZaW2bdeundbAig4dOqBFixb497//jc8//9zcpZbLoEGDNP+/cePGaNWqFYKDg7F9+3a89NJLevcz1efn8FdoVatWhbOzc4m/BjIyMkr81aCmVCp1tndxcYGfn5/Zaq2It956Cz/++CP27t1r1HI67dq1k+RfhMV5enqiSZMmemu1xc8OAG7evIk9e/ZgzJgx5d7XVj479ejU8vxbVO9X3n2sKT8/HwMHDkRKSgoSEhLKvaSKk5MTWrdubROfaUBAAIKDg0ut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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### test" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1798±0.0097 95CI=(0.1662, 0.1979)\n", - " MSE: 0.0667±0.0148 95CI=(0.0490, 0.0935)\n", - " R2: 0.9645±0.0079 95CI=(0.9493, 0.9742)\n", - "RMSE: 0.2568±0.0279 95CI=(0.2213, 0.3058)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "##### val" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " MAE: 0.1862±0.0108 95CI=(0.1705, 0.2051)\n", - " MSE: 0.0773±0.0113 95CI=(0.0601, 0.0970)\n", - " R2: 0.9629±0.0059 95CI=(0.9526, 0.9709)\n", - "RMSE: 0.2773±0.0202 95CI=(0.2452, 0.3114)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "metrics = {}\n", - "nn_model.train(False)\n", - "for key, loader in dataloaders.items():\n", - " metrics[key] = {}\n", - " display(Markdown(f\"#### {key}\"))\n", - " for ttype, dataloader in loader.items():\n", - " display(Markdown(f\"##### {ttype}\"))\n", - " try:\n", - " mtype= import_object(f\"kinoml.core.measurements.{key}\")\n", - " except AttributeError: \n", - " mtype = import_object(f\"kinoml.core.measurements.{key.split('__')[1]}\")\n", - " obs_model = mtype.observation_model(backend=\"pytorch\")\n", - " x, y = dataloader.dataset[dataloader.batch_sampler.sampler.indices]\n", - " prediction = obs_model(nn_model(x).view_as(y).detach().numpy())\n", - "\n", - " perf_data = performance(prediction, y, verbose=False)\n", - " metrics[key][ttype] = {}\n", - " for perfkey, values in perf_data.items():\n", - " metrics[key][ttype][perfkey] = {\"mean\": values[0], \"std\": values[1]}\n", - " display(predicted_vs_observed(prediction, y, mtype))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Summary\n", - "\n", - "`kinase_metrics` is a nested dictionary with these dimensions:\n", - "\n", - "- measurement type\n", - "- metric\n", - "- mean & standard deviation" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "\n", - "### Configuration \n", - "\n", - "```json\n", - "{\n", - " \"VERSION\": \"2023.11.06\",\n", - " \"HERE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR\",\n", - " \"DATASET_CLS\": \"kinoml.datasets.chembl.ChEMBLDatasetProvider\",\n", - " \"DATASET_KWARGS\": {\n", - " \"path_or_url\": \"../data/filtered_dataset_EGFR.csv\",\n", - " \"sample\": 1000\n", - " },\n", - " \"PIPELINES\": {\n", - " \"ligand\": [\n", - " [\n", - " \"kinoml.features.ligand.OneHotSMILESFeaturizer\",\n", - " {}\n", - " ],\n", - " [\n", - " \"kinoml.features.core.PadFeaturizer\",\n", - " {\n", - " \"shape\": \"auto\"\n", - " }\n", - " ]\n", - " ]\n", - " },\n", - " \"PIPELINES_AGG\": \"kinoml.features.core.TupleOfArrays\",\n", - " \"PIPELINES_AGG_KWARGS\": {},\n", - " \"FEATURIZE_KWARGS\": {\n", - " \"keep\": false\n", - " },\n", - " \"GROUPS\": [\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff9d0>\"\n", - " }\n", - " ],\n", - " [\n", - " \"kinoml.datasets.groups.CallableGrouper\",\n", - " {\n", - " \"function\": \" at 0x7f4dc22ff430>\"\n", - " }\n", - " ]\n", - " ],\n", - " \"TRAIN_TEST_VAL_KWARGS\": {\n", - " \"idx_train\": 0.8,\n", - " \"idx_test\": 0.1,\n", - " \"idx_val\": 0.1\n", - " },\n", - " \"REPO\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml\",\n", - " \"OUT\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments/ligand-only-smiles-EGFR/_output/20231106-101546\",\n", - " \"X\": \"[[[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0], ...], ...]]\",\n", - " \"PARQUET_LOADER_CLS\": \"kinoml.datasets.torch_datasets.AwkwardArrayDataset\",\n", - " \"PARQUET_FILES\": [\n", - " \"ligand-only-smiles-EGFR/_output/ligand__OneHotSMILESFeaturizer__PadFeaturizer_shape=auto/ChEMBLDatasetProvider/*.parquet\"\n", - " ],\n", - " \"MODEL_CLS\": \"kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression\",\n", - " \"MODEL_KWARGS\": {\n", - " \"hidden_shape\": 350,\n", - " \"input_shape\": [\n", - " 53,\n", - " 159\n", - " ]\n", - " },\n", - " \"OPTIMIZER\": \"torch.optim.Adam\",\n", - " \"OPTIMIZER_KWARGS\": {\n", - " \"lr\": 0.001,\n", - " \"eps\": 1e-07,\n", - " \"betas\": [\n", - " 0.9,\n", - " 0.999\n", - " ]\n", - " },\n", - " \"LOSS\": \"torch.nn.MSELoss\",\n", - " \"LOSS_KWARGS\": {},\n", - " \"MAX_EPOCHS\": 50,\n", - " \"VALIDATION\": true,\n", - " \"EARLY_STOPPING_KWARGS\": {},\n", - " \"DATALOADER_CLS\": \"torch.utils.data.DataLoader\",\n", - " \"BATCH_SIZE\": 64,\n", - " \"TRAIN_TEST_SPLIT\": 0.2,\n", - " \"SHUFFLE_SPLITS\": true,\n", - " \"COLLATE_FN\": null,\n", - " \"N_BOOTSTRAPS\": 1,\n", - " \"BOOTSTRAP_SAMPLE_RATIO\": 1,\n", - " \"VERBOSE\": false,\n", - " \"FEATURES_STORE\": \"/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_final/kinoml/examples/experiments\"\n", - "}\n", - "```\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import json\n", - "\n", - "display(Markdown(f\"\"\"\n", - "### Configuration \n", - "\n", - "```json\n", - "{json.dumps(_hparams, default=str, indent=2)}\n", - "```\n", - "\"\"\"))\n", - "\n", - "if VERBOSE:\n", - " display(Markdown(\n", - "f\"\"\"\n", - "### Kinase metrics\n", - "\n", - "```json\n", - "{json.dumps(metrics, default=str, indent=2)}\n", - "```\n", - "\"\"\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "#### P00533__pIC50Measurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1832600.0072190.0722250.0092880.9634490.0046290.2682090.016991
test0.1797820.0097110.0667380.0148050.9645200.0078670.2568270.027890
val0.1861700.0107850.0773240.0112530.9629180.0059420.2773360.020215
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKdMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.3446780.1287560.3078060.2552940.7517610.2480680.5048520.230067
test0.2467420.0704130.0879390.0469780.7268740.9792020.2859830.078438
val0.4522790.2470030.5402770.509896-53.957348538.8569450.6364270.367746
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/markdown": [ - "#### P00533__pKiMeasurement" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 mae_meanmae_stdmse_meanmse_stdr2_meanr2_stdrmse_meanrmse_std
train0.1604100.0193570.0350800.0070790.9759310.0146640.1863490.018824
test0.1827440.0275500.0420850.0114470.9658660.0405650.2031630.028461
val0.1334220.0304960.0266640.0106670.9695370.0289140.1599500.032868
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for mtype_name in MEASUREMENT_TYPES:\n", - " mtype_metrics = metrics.get(mtype_name)\n", - " if not mtype_metrics:\n", - " continue\n", - " \n", - " display(Markdown(f\"#### {mtype_name}\"))\n", - " \n", - " # flatten dict a bit: from dict[\"test\"][\"r2\"][\"mean\"] to dict[\"test\"][\"r2_mean\"]\n", - " flattened = {}\n", - " for ttype, scores in mtype_metrics.items():\n", - " flattened[ttype] = {}\n", - " for score, stats in scores.items():\n", - " for stat, value in stats.items():\n", - " flattened[ttype][f\"{score}_{stat}\"] = value\n", - " \n", - " df = pd.DataFrame.from_dict(flattened, orient=\"index\")\n", - " with pd.option_context(\"display.float_format\", \"{:.3f}\".format, \"display.max_rows\", len(df)):\n", - " display(\n", - " df.style.background_gradient(subset=[\"r2_mean\"], low=0, high=1, vmin=0, vmax=1)\n", - " .apply(lambda x: ['font-weight: bold' for v in x], subset=[\"r2_mean\"])\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run finished at 2023-11-06 10:17:11.790579\n" - ] - } - ], - "source": [ - "print(\"Run finished at\", datetime.now())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Save reports to disk" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Watermark\n", - "---------\n", - "Last updated: 2023-11-06T10:17:11.796459+01:00\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.9.18\n", - "IPython version : 8.15.0\n", - "\n", - "Compiler : GCC 12.3.0\n", - "OS : Linux\n", - "Release : 6.2.0-36-generic\n", - "Machine : x86_64\n", - "Processor : x86_64\n", - "CPU cores : 16\n", - "Architecture: 64bit\n", - "\n", - "Hostname: aleph\n", - "\n", - "Git hash: d2352d6e07d594ed9fd973b544529f89feb82d78\n", - "\n", - "torch : 2.1.0\n", - "sys : 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) \n", - "[GCC 12.3.0]\n", - "json : 2.0.9\n", - "pandas : 2.1.1\n", - "numpy : 1.26.0\n", - "kinoml : 0+unknown\n", - "awkward: 2.4.6\n", - "\n", - "Watermark: 2.4.3\n", - "\n", - "\n", - "nvidia-smi\n", - "----------\n", - "stdout:\n", - "Mon Nov 6 10:17:11 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |\n", - "| N/A 59C P8 17W / 10W | 46MiB / 16384MiB | 23% Default |\n", - "| | | N/A |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| 0 N/A N/A 1247 G /usr/lib/xorg/Xorg 45MiB |\n", - "+-----------------------------------------------------------------------------+\n", - "\n", - "conda info\n", - "----------\n", - "sys.version: 3.11.5 (main, Sep 11 2023, 13:54:46) [GC...\n", - "sys.prefix: /home/raquellrdc/anaconda3\n", - "sys.executable: /home/raquellrdc/anaconda3/bin/python\n", - "conda location: /home/raquellrdc/anaconda3/lib/python3.11/site-packages/conda\n", - "conda-build: /home/raquellrdc/anaconda3/bin/conda-build\n", - "conda-content-trust: /home/raquellrdc/anaconda3/bin/conda-content-trust\n", - "conda-convert: /home/raquellrdc/anaconda3/bin/conda-convert\n", - "conda-debug: /home/raquellrdc/anaconda3/bin/conda-debug\n", - "conda-develop: /home/raquellrdc/anaconda3/bin/conda-develop\n", - "conda-env: /home/raquellrdc/anaconda3/bin/conda-env\n", - "conda-index: /home/raquellrdc/anaconda3/bin/conda-index\n", - "conda-inspect: /home/raquellrdc/anaconda3/bin/conda-inspect\n", - "conda-metapackage: /home/raquellrdc/anaconda3/bin/conda-metapackage\n", - "conda-pack: /home/raquellrdc/anaconda3/bin/conda-pack\n", - "conda-render: /home/raquellrdc/anaconda3/bin/conda-render\n", - "conda-repo: /home/raquellrdc/anaconda3/bin/conda-repo\n", - "conda-server: /home/raquellrdc/anaconda3/bin/conda-server\n", - "conda-skeleton: /home/raquellrdc/anaconda3/bin/conda-skeleton\n", - "conda-token: /home/raquellrdc/anaconda3/bin/conda-token\n", - "conda-verify: /home/raquellrdc/anaconda3/bin/conda-verify\n", - "user site dirs: ~/.local/lib/python3.10\n", - "\n", - "CIO_TEST: \n", - "CONDA_DEFAULT_ENV: kinoml_env\n", - "CONDA_EXE: /home/raquellrdc/anaconda3/bin/conda\n", - "CONDA_PREFIX: /home/raquellrdc/anaconda3/envs/kinoml_env\n", - "CONDA_PROMPT_MODIFIER: (kinoml_env) \n", - "CONDA_PYTHON_EXE: /home/raquellrdc/anaconda3/bin/python\n", - "CONDA_ROOT: /home/raquellrdc/anaconda3\n", - "CONDA_SHLVL: 1\n", - "CURL_CA_BUNDLE: \n", - "LD_PRELOAD: \n", - "PATH: /home/raquellrdc/anaconda3/envs/kinoml_env/bin:/home/raquellrdc/anaconda3/condabin:/home/raquellrdc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n", - "PYTHONHASHSEED: 1234\n", - "REQUESTS_CA_BUNDLE: \n", - "SSL_CERT_FILE: \n", - "XDG_SEAT_PATH: /org/freedesktop/DisplayManager/Seat0\n", - "XDG_SESSION_PATH: /org/freedesktop/DisplayManager/Session1\n", - "\n", - "conda list\n", - "----------\n", - "# packages in environment at /home/raquellrdc/anaconda3/envs/kinoml_env:\n", - "#\n", - "# Name Version Build Channel\n", - "_libgcc_mutex 0.1 conda_forge conda-forge\n", - "_openmp_mutex 4.5 2_gnu conda-forge\n", - "_py-xgboost-mutex 2.0 gpu_0 conda-forge\n", - "alabaster 0.7.13 pypi_0 pypi\n", - "ambertools 23.3 py39h7fa913e_4 conda-forge\n", - "amberutils 21.0 pypi_0 pypi\n", - "ansiwrap 0.8.4 py_0 conda-forge\n", - "anyio 3.5.0 py39h06a4308_0 \n", - "appdirs 1.4.4 pyh9f0ad1d_0 conda-forge\n", - "argon2-cffi 21.3.0 pyhd3eb1b0_0 \n", - "argon2-cffi-bindings 21.2.0 py39h7f8727e_0 \n", - "arpack 3.8.0 nompi_h0baa96a_101 conda-forge\n", - "arrow 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "asttokens 2.0.5 pyhd3eb1b0_0 \n", - "astunparse 1.6.3 pyhd8ed1ab_0 conda-forge\n", - "async-lru 2.0.4 pyhd8ed1ab_0 conda-forge\n", - "attrs 23.1.0 py39h06a4308_0 \n", - "awkward 2.4.6 pyhd8ed1ab_0 conda-forge\n", - "awkward-cpp 24 py39h7633fee_0 conda-forge\n", - "aws-c-auth 0.7.4 h1083cbe_2 conda-forge\n", - "aws-c-cal 0.6.2 h09139f6_2 conda-forge\n", - "aws-c-common 0.9.3 hd590300_0 conda-forge\n", - "aws-c-compression 0.2.17 h184a658_3 conda-forge\n", - "aws-c-event-stream 0.3.2 h6fea174_2 conda-forge\n", - "aws-c-http 0.7.13 hb59894b_2 conda-forge\n", - "aws-c-io 0.13.33 h161b759_0 conda-forge\n", - "aws-c-mqtt 0.9.7 h55cd26b_0 conda-forge\n", - "aws-c-s3 0.3.17 hfb4bb88_4 conda-forge\n", - "aws-c-sdkutils 0.1.12 h184a658_2 conda-forge\n", - "aws-checksums 0.1.17 h184a658_2 conda-forge\n", - "aws-crt-cpp 0.24.2 ha28989d_2 conda-forge\n", - "aws-sdk-cpp 1.11.156 h314d761_4 conda-forge\n", - "babel 2.11.0 py39h06a4308_0 \n", - "backcall 0.2.0 pyhd3eb1b0_0 \n", - "beautifulsoup4 4.12.2 py39h06a4308_0 \n", - "biopandas 0.4.1 pyhd8ed1ab_1 conda-forge\n", - "biopython 1.77 py39h27cfd23_0 \n", - "biotite 0.38.0 py39h44dd56e_0 conda-forge\n", - "black 23.3.0 py39h06a4308_0 \n", - "blas 1.0 mkl \n", - "bleach 4.1.0 pyhd3eb1b0_0 \n", - "blosc 1.21.5 h0f2a231_0 conda-forge\n", - "bokeh 3.2.1 py39h2f386ee_0 \n", - "bravado 11.0.3 pyhd8ed1ab_0 conda-forge\n", - "bravado-core 5.17.1 pyhd8ed1ab_0 conda-forge\n", - "brotli 1.0.9 he6710b0_2 \n", - "brotli-python 1.0.9 py39h6a678d5_7 \n", - "bzip2 1.0.8 h7b6447c_0 \n", - "c-ares 1.20.1 hd590300_0 conda-forge\n", - "c-blosc2 2.10.5 hb4ffafa_0 conda-forge\n", - "ca-certificates 2023.08.22 h06a4308_0 \n", - "cached-property 1.5.2 hd8ed1ab_1 conda-forge\n", - "cached_property 1.5.2 pyha770c72_1 conda-forge\n", - "cachetools 5.3.1 pyhd8ed1ab_0 conda-forge\n", - "cairo 1.18.0 h3faef2a_0 conda-forge\n", - "certifi 2023.7.22 py39h06a4308_0 \n", - "cffi 1.15.1 py39h5eee18b_3 \n", - "cftime 1.6.2 py39h7deecbd_0 \n", - "charset-normalizer 2.0.4 pyhd3eb1b0_0 \n", - "click 8.0.4 py39h06a4308_0 \n", - "cloudpickle 2.2.1 py39h06a4308_0 \n", - "codecov 2.1.13 pyhd8ed1ab_0 conda-forge\n", - "colorama 0.4.6 py39h06a4308_0 \n", - "comm 0.1.2 py39h06a4308_0 \n", - "contourpy 1.0.5 py39hdb19cb5_0 \n", - "coverage 7.2.2 py39h5eee18b_0 \n", - "cpuonly 2.0 0 pytorch\n", - "cuda-version 11.8 h70ddcb2_2 conda-forge\n", - "cudatoolkit 11.8.0 h4ba93d1_12 conda-forge\n", - "cycler 0.11.0 pyhd3eb1b0_0 \n", - "cytoolz 0.12.0 py39h5eee18b_0 \n", - "dask 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-core 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "dask-jobqueue 0.8.2 pyhd8ed1ab_0 conda-forge\n", - "debugpy 1.6.7 py39h6a678d5_0 \n", - "decorator 5.1.1 pyhd3eb1b0_0 \n", - "defusedxml 0.7.1 pyhd3eb1b0_0 \n", - "distributed 2023.10.0 pyhd8ed1ab_0 conda-forge\n", - "docker-pycreds 0.4.0 pypi_0 pypi\n", - "docutils 0.20.1 pypi_0 pypi\n", - "edgembar 0.2 pypi_0 pypi\n", - "entrypoints 0.4 py39h06a4308_0 \n", - "exceptiongroup 1.0.4 py39h06a4308_0 \n", - "execnet 1.9.0 pyhd3eb1b0_0 \n", - "executing 0.8.3 pyhd3eb1b0_0 \n", - "expat 2.5.0 h6a678d5_0 \n", - "fasteners 0.16.3 pyhd3eb1b0_0 \n", - "fftw 3.3.10 nompi_hc118613_108 conda-forge\n", - "filelock 3.9.0 py39h06a4308_0 \n", - "font-ttf-dejavu-sans-mono 2.37 hd3eb1b0_0 \n", - "font-ttf-inconsolata 2.001 hcb22688_0 \n", - "font-ttf-source-code-pro 2.030 hd3eb1b0_0 \n", - "font-ttf-ubuntu 0.83 h8b1ccd4_0 \n", - "fontconfig 2.14.2 h14ed4e7_0 conda-forge\n", - "fonts-anaconda 1 h8fa9717_0 \n", - "fonts-conda-ecosystem 1 hd3eb1b0_0 \n", - "fonttools 4.25.0 pyhd3eb1b0_0 \n", - "fqdn 1.5.1 pyhd8ed1ab_0 conda-forge\n", - "freetype 2.12.1 h4a9f257_0 \n", - "fsspec 2023.9.2 py39h06a4308_0 \n", - "gettext 0.21.1 h27087fc_0 conda-forge\n", - "gflags 2.2.2 he6710b0_0 \n", - "giflib 5.2.1 h5eee18b_3 \n", - "gitdb 4.0.11 pypi_0 pypi\n", - "gitpython 3.1.40 pypi_0 pypi\n", - "glog 0.6.0 h6f12383_0 conda-forge\n", - "gmp 6.2.1 h295c915_3 \n", - "gmpy2 2.1.2 py39heeb90bb_0 \n", - "greenlet 2.0.1 py39h6a678d5_0 \n", - "griddataformats 1.0.1 pyhd8ed1ab_0 conda-forge\n", - "gsd 3.2.0 py39h44dd56e_0 conda-forge\n", - "h5py 3.10.0 nompi_py39h87cadad_100 conda-forge\n", - "hdf4 4.2.15 h9772cbc_5 conda-forge\n", - "hdf5 1.14.2 nompi_h4f84152_100 conda-forge\n", - "heapdict 1.0.1 pyhd3eb1b0_0 \n", - "icu 73.2 h59595ed_0 conda-forge\n", - "idna 3.4 py39h06a4308_0 \n", - "imagesize 1.4.1 pypi_0 pypi\n", - "importlib-metadata 6.0.0 py39h06a4308_0 \n", - "importlib-resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "importlib_metadata 6.0.0 hd3eb1b0_0 \n", - "importlib_resources 6.1.0 pyhd8ed1ab_0 conda-forge\n", - "iniconfig 1.1.1 pyhd3eb1b0_0 \n", - "intel-openmp 2023.1.0 hdb19cb5_46305 \n", - "ipykernel 6.25.0 py39h2f386ee_0 \n", - "ipython 8.15.0 py39h06a4308_0 \n", - "ipython_genutils 0.2.0 pyhd3eb1b0_1 \n", - "ipywidgets 8.0.4 py39h06a4308_0 \n", - "isoduration 20.11.0 pyhd8ed1ab_0 conda-forge\n", - "jedi 0.18.1 py39h06a4308_1 \n", - "jinja2 3.1.2 py39h06a4308_0 \n", - "joblib 1.2.0 py39h06a4308_0 \n", - "jpeg 9e h5eee18b_1 \n", - "json5 0.9.6 pyhd3eb1b0_0 \n", - "jsonpointer 2.4 py39hf3d152e_3 conda-forge\n", - "jsonref 0.2 py_0 conda-forge\n", - "jsonschema 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-specifications 2023.7.1 pyhd8ed1ab_0 conda-forge\n", - "jsonschema-with-format-nongpl 4.19.1 pyhd8ed1ab_0 conda-forge\n", - "jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n", - "jupyter_client 7.4.9 py39h06a4308_0 \n", - "jupyter_core 5.3.0 py39h06a4308_0 \n", - "jupyter_events 0.7.0 pyhd8ed1ab_2 conda-forge\n", - "jupyter_server 2.7.3 pyhd8ed1ab_1 conda-forge\n", - "jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n", - "jupyterlab 4.0.7 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_pygments 0.1.2 py_0 \n", - "jupyterlab_server 2.25.0 pyhd8ed1ab_0 conda-forge\n", - "jupyterlab_widgets 3.0.9 pyhd8ed1ab_0 conda-forge\n", - "kinoml 0+unknown pypi_0 pypi\n", - "kiwisolver 1.4.4 py39h6a678d5_0 \n", - "krb5 1.20.1 h143b758_1 \n", - "lcms2 2.12 h3be6417_0 \n", - "ld_impl_linux-64 2.38 h1181459_1 \n", - "lerc 3.0 h295c915_0 \n", - "libabseil 20230802.1 cxx17_h59595ed_0 conda-forge\n", - "libaec 1.1.2 h59595ed_1 conda-forge\n", - "libarrow 13.0.0 h4121bdd_9_cpu conda-forge\n", - "libblas 3.9.0 1_h86c2bf4_netlib conda-forge\n", - "libboost 1.82.0 h109eef0_2 \n", - "libboost-python 1.82.0 py39hda80f44_6 conda-forge\n", - "libbrotlicommon 1.1.0 hd590300_1 conda-forge\n", - "libbrotlidec 1.1.0 hd590300_1 conda-forge\n", - "libbrotlienc 1.1.0 hd590300_1 conda-forge\n", - "libcrc32c 1.1.2 h6a678d5_0 \n", - "libcurl 8.4.0 h251f7ec_0 \n", - "libdeflate 1.17 h5eee18b_1 \n", - "libedit 3.1.20221030 h5eee18b_0 \n", - "libev 4.33 h7f8727e_1 \n", - "libevent 2.1.12 hdbd6064_1 \n", - "libffi 3.4.4 h6a678d5_0 \n", - "libgcc-ng 13.2.0 h807b86a_2 conda-forge\n", - "libgfortran-ng 13.2.0 h69a702a_2 conda-forge\n", - "libgfortran5 13.2.0 ha4646dd_2 conda-forge\n", - "libglib 2.78.0 hebfc3b9_0 conda-forge\n", - "libgomp 13.2.0 h807b86a_2 conda-forge\n", - "libgoogle-cloud 2.12.0 h19a6dae_3 conda-forge\n", - "libgrpc 1.58.1 he06187c_2 conda-forge\n", - "libiconv 1.17 h166bdaf_0 conda-forge\n", - "liblapack 3.9.0 5_h92ddd45_netlib conda-forge\n", - "libnetcdf 4.9.2 nompi_h80fb2b6_112 conda-forge\n", - "libnghttp2 1.57.0 h2d74bed_0 \n", - "libnsl 2.0.0 h5eee18b_0 \n", - "libnuma 2.0.16 h0b41bf4_1 conda-forge\n", - "libpng 1.6.39 h5eee18b_0 \n", - "libprotobuf 4.24.3 hf27288f_1 conda-forge\n", - "libre2-11 2023.06.02 h7a70373_0 conda-forge\n", - "libsodium 1.0.18 h7b6447c_0 \n", - "libsqlite 3.43.2 h2797004_0 conda-forge\n", - "libssh2 1.10.0 hdbd6064_2 \n", - "libstdcxx-ng 13.2.0 h7e041cc_2 conda-forge\n", - "libthrift 0.19.0 hb90f79a_1 conda-forge\n", - "libtiff 4.5.1 h6a678d5_0 \n", - "libutf8proc 2.8.0 h166bdaf_0 conda-forge\n", - "libuuid 2.38.1 h0b41bf4_0 conda-forge\n", - "libwebp 1.3.2 h11a3e52_0 \n", - "libwebp-base 1.3.2 h5eee18b_0 \n", - "libxcb 1.15 h7f8727e_0 \n", - "libxgboost 1.7.6 cuda118h4159b1e_5 conda-forge\n", - "libxml2 2.11.5 h232c23b_1 conda-forge\n", - "libxslt 1.1.37 h0054252_1 conda-forge\n", - "libzip 1.10.1 h2629f0a_3 conda-forge\n", - "libzlib 1.2.13 hd590300_5 conda-forge\n", - "lightning-utilities 0.9.0 py39h06a4308_0 \n", - "llvm-openmp 14.0.6 h9e868ea_0 \n", - "locket 1.0.0 py39h06a4308_0 \n", - "lxml 4.9.3 py39hed45dcc_1 conda-forge\n", - "lz4 4.3.2 py39h5eee18b_0 \n", - "lz4-c 1.9.4 h6a678d5_0 \n", - "lzo 2.10 h516909a_1000 conda-forge\n", - "markupsafe 2.1.1 py39h7f8727e_0 \n", - "matplotlib-base 3.8.0 py39he9076e7_2 conda-forge\n", - "matplotlib-inline 0.1.6 py39h06a4308_0 \n", - "mda-xdrlib 0.2.0 pyhd8ed1ab_0 conda-forge\n", - "mdanalysis 2.3.0 py39h4661b88_1 conda-forge\n", - "mdtraj 1.9.9 py39h031bd0f_0 conda-forge\n", - "mistune 0.8.4 py39h27cfd23_1000 \n", - "mkl 2023.1.0 h213fc3f_46343 \n", - "mkl-service 2.4.0 py39h5eee18b_1 \n", - "mkl_fft 1.3.8 py39h5eee18b_0 \n", - "mkl_random 1.2.4 py39hdb19cb5_0 \n", - "mmpbsa-py 16.0 pypi_0 pypi\n", - "mmtf-python 1.1.3 pyhd8ed1ab_0 conda-forge\n", - "monotonic 1.5 py_0 \n", - "mpc 1.1.0 h10f8cd9_1 \n", - "mpfr 4.0.2 hb69a4c5_1 \n", - "mpmath 1.3.0 py39h06a4308_0 \n", - "mrcfile 1.4.3 pyhd8ed1ab_0 conda-forge\n", - "msgpack-python 1.0.3 py39hd09550d_0 \n", - "munkres 1.1.4 py_0 \n", - "mypy_extensions 1.0.0 py39h06a4308_0 \n", - "nbclassic 0.5.5 py39h06a4308_0 \n", - "nbclient 0.5.13 py39h06a4308_0 \n", - "nbconvert 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-core 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbconvert-pandoc 6.5.3 pyhd8ed1ab_0 conda-forge\n", - "nbformat 5.9.2 py39h06a4308_0 \n", - "nbval 0.10.0 pyhd8ed1ab_0 conda-forge\n", - "nccl 2.19.3.1 h6103f9b_0 conda-forge\n", - "ncurses 6.4 h6a678d5_0 \n", - "nest-asyncio 1.5.6 py39h06a4308_0 \n", - "netcdf-fortran 4.6.1 nompi_hacb5139_102 conda-forge\n", - "netcdf4 1.6.4 nompi_py39h4282601_103 conda-forge\n", - "networkx 3.1 py39h06a4308_0 \n", - "nglview 3.0.8 pyh1da8cd4_0 conda-forge\n", - "notebook 7.0.5 pyhd8ed1ab_0 conda-forge\n", - "notebook-shim 0.2.2 py39h06a4308_0 \n", - "numexpr 2.7.3 py39hde0f152_1 conda-forge\n", - "numpy 1.26.0 py39h5f9d8c6_0 \n", - "numpy-base 1.26.0 py39hb5e798b_0 \n", - "ocl-icd 2.3.1 h7f98852_0 conda-forge\n", - "ocl-icd-system 1.0.0 1 conda-forge\n", - "opencadd 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openeye-toolkits 2023.1.1 py39_0 openeye\n", - "openff-amber-ff-ports 0.0.3 pyh6c4a22f_0 conda-forge\n", - "openff-forcefields 2023.08.0 pyh1a96a4e_0 conda-forge\n", - "openff-interchange 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-interchange-base 0.2.2 pyhd8ed1ab_0 conda-forge\n", - "openff-toolkit 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-toolkit-base 0.11.2 pyhd8ed1ab_2 conda-forge\n", - "openff-units 0.1.8 pyh1a96a4e_1 conda-forge\n", - "openff-utilities 0.1.10 pyhd8ed1ab_0 conda-forge\n", - "openjpeg 2.4.0 h3ad879b_0 \n", - "openmm 8.0.0 py39he81762f_3 conda-forge\n", - "openssl 3.1.3 hd590300_0 conda-forge\n", - "orc 1.9.0 h208142c_3 conda-forge\n", - "overrides 7.4.0 pyhd8ed1ab_0 conda-forge\n", - "packaging 23.1 py39h06a4308_0 \n", - "packmol 20.010 h86c2bf4_0 conda-forge\n", - "packmol-memgen 2023.2.24 pypi_0 pypi\n", - "pandas 2.1.1 py39hddac248_1 conda-forge\n", - "pandoc 2.19.2 h32600fe_2 conda-forge\n", - "pandocfilters 1.5.0 pyhd3eb1b0_0 \n", - "panedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "papermill 2.2.2 pyhd8ed1ab_0 conda-forge\n", - "parmed 4.1.0 py39h227be39_0 conda-forge\n", - "parso 0.8.3 pyhd3eb1b0_0 \n", - "partd 1.4.0 py39h06a4308_0 \n", - "pathspec 0.10.3 py39h06a4308_0 \n", - "pathtools 0.1.2 pypi_0 pypi\n", - "pbr 5.11.1 pyhd8ed1ab_0 conda-forge\n", - "pcre2 10.40 hc3806b6_0 conda-forge\n", - "pdb4amber 22.0 pypi_0 pypi\n", - "perl 5.32.1 4_hd590300_perl5 conda-forge\n", - "pexpect 4.8.0 pyhd3eb1b0_3 \n", - "pickleshare 0.7.5 pyhd3eb1b0_1003 \n", - "pillow 10.0.1 py39ha6cbd5a_0 \n", - "pint 0.19.2 pyhd8ed1ab_0 conda-forge\n", - "pip 23.3 pyhd8ed1ab_0 conda-forge\n", - "pixman 0.42.2 h59595ed_0 conda-forge\n", - "pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge\n", - "platformdirs 3.10.0 py39h06a4308_0 \n", - "pluggy 1.0.0 py39h06a4308_1 \n", - "prometheus_client 0.14.1 py39h06a4308_0 \n", - "prompt-toolkit 3.0.36 py39h06a4308_0 \n", - "protobuf 4.24.4 pypi_0 pypi\n", - "psutil 5.9.0 py39h5eee18b_0 \n", - "ptyprocess 0.7.0 pyhd3eb1b0_2 \n", - "pure_eval 0.2.2 pyhd3eb1b0_0 \n", - "py-cpuinfo 9.0.0 pyhd8ed1ab_0 conda-forge\n", - "py-xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "pyarrow 13.0.0 py39h6925388_9_cpu conda-forge\n", - "pycairo 1.21.0 py39h287db57_0 \n", - "pycparser 2.21 pyhd3eb1b0_0 \n", - "pydantic 1.10.13 py39hd1e30aa_0 conda-forge\n", - "pyedr 0.7.2 pyhd8ed1ab_0 conda-forge\n", - "pyg 2.4.0 py39_torch_2.1.0_cpu pyg\n", - "pygments 2.15.1 py39h06a4308_1 \n", - "pymsmt 22.0 pypi_0 pypi\n", - "pyparsing 3.0.9 py39h06a4308_0 \n", - "pyrsistent 0.18.0 py39heee7806_0 \n", - "pysocks 1.7.1 py39h06a4308_0 \n", - "pytables 3.9.1 py39hfbd31a7_0 conda-forge\n", - "pytest 7.4.2 pyhd8ed1ab_0 conda-forge\n", - "pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytest-xdist 3.3.1 pyhd8ed1ab_0 conda-forge\n", - "python 3.9.18 h0755675_0_cpython conda-forge\n", - "python-constraint 1.4.0 py_0 conda-forge\n", - "python-dateutil 2.8.2 pyhd3eb1b0_0 \n", - "python-fastjsonschema 2.16.2 py39h06a4308_0 \n", - "python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n", - "python-lmdb 1.4.1 py39h6a678d5_0 \n", - "python-tzdata 2023.3 pyhd3eb1b0_0 \n", - "python_abi 3.9 4_cp39 conda-forge\n", - "pytorch 2.1.0 py3.9_cpu_0 pytorch\n", - "pytorch-lightning 2.1.0 pyhd8ed1ab_0 conda-forge\n", - "pytorch-mutex 1.0 cpu pytorch\n", - "pytraj 2.0.6 pypi_0 pypi\n", - "pytz 2023.3.post1 py39h06a4308_0 \n", - "pyyaml 6.0 py39h5eee18b_1 \n", - "pyzmq 25.1.1 py39hb257651_1 conda-forge\n", - "rdkit 2023.09.1 py39hce5ca95_0 conda-forge\n", - "rdma-core 28.9 h59595ed_1 conda-forge\n", - "re2 2023.06.02 h2873b5e_0 conda-forge\n", - "readline 8.2 h5eee18b_0 \n", - "referencing 0.30.2 pyhd8ed1ab_0 conda-forge\n", - "reportlab 3.5.67 py39hfdd840d_1 \n", - "requests 2.31.0 pyhd8ed1ab_0 conda-forge\n", - "rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n", - "rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n", - "rpds-py 0.10.6 py39h9fdd4d6_0 conda-forge\n", - "ruamel.yaml 0.17.35 py39hd1e30aa_0 conda-forge\n", - "ruamel.yaml.clib 0.2.6 py39h5eee18b_1 \n", - "s2n 1.3.54 h06160fa_0 conda-forge\n", - "sander 22.0 pypi_0 pypi\n", - "scikit-learn 1.3.0 py39h1128e8f_0 \n", - "scipy 1.11.3 py39h5f9d8c6_0 \n", - "seaborn 0.12.2 py39h06a4308_0 \n", - "send2trash 1.8.2 pyh41d4057_0 conda-forge\n", - "sentry-sdk 1.32.0 pypi_0 pypi\n", - "setproctitle 1.3.3 pypi_0 pypi\n", - "setuptools 68.0.0 py39h06a4308_0 \n", - "simplejson 3.17.6 py39h7f8727e_0 \n", - "six 1.16.0 pyhd3eb1b0_1 \n", - "sklearn-pytorch 0.1.0 pypi_0 pypi\n", - "smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge\n", - "smmap 5.0.1 pypi_0 pypi\n", - "snappy 1.1.10 h9fff704_0 conda-forge\n", - "sniffio 1.2.0 py39h06a4308_1 \n", - "snowballstemmer 2.2.0 pypi_0 pypi\n", - "sortedcontainers 2.4.0 pyhd3eb1b0_0 \n", - "soupsieve 2.5 py39h06a4308_0 \n", - "sphinx 7.2.6 pypi_0 pypi\n", - "sphinxcontrib-applehelp 1.0.7 pypi_0 pypi\n", - "sphinxcontrib-devhelp 1.0.5 pypi_0 pypi\n", - "sphinxcontrib-htmlhelp 2.0.4 pypi_0 pypi\n", - "sphinxcontrib-jsmath 1.0.1 pypi_0 pypi\n", - "sphinxcontrib-qthelp 1.0.6 pypi_0 pypi\n", - "sphinxcontrib-serializinghtml 1.1.9 pypi_0 pypi\n", - "sqlalchemy 2.0.21 py39h5eee18b_0 \n", - "stack_data 0.2.0 pyhd3eb1b0_0 \n", - "swagger-spec-validator 3.0.3 pyhd8ed1ab_0 conda-forge\n", - "sympy 1.11.1 py39h06a4308_0 \n", - "tbb 2021.8.0 hdb19cb5_0 \n", - "tblib 1.7.0 pyhd3eb1b0_0 \n", - "tenacity 8.2.2 py39h06a4308_0 \n", - "terminado 0.17.1 py39h06a4308_0 \n", - "textwrap3 0.9.2 py_0 conda-forge\n", - "threadpoolctl 2.2.0 pyh0d69192_0 \n", - "tidynamics 1.1.2 pyhd8ed1ab_0 conda-forge\n", - "tinycss2 1.2.1 py39h06a4308_0 \n", - "tk 8.6.13 h2797004_0 conda-forge\n", - "toml 0.10.2 pyhd3eb1b0_0 \n", - "tomli 2.0.1 py39h06a4308_0 \n", - "toolz 0.12.0 py39h06a4308_0 \n", - "torchmetrics 0.11.4 py39h2f386ee_1 \n", - "torchvision 0.16.0 pypi_0 pypi\n", - "tornado 6.3.3 py39h5eee18b_0 \n", - "tqdm 4.66.1 pyhd8ed1ab_0 conda-forge\n", - "traitlets 5.7.1 py39h06a4308_0 \n", - "types-python-dateutil 2.8.19.14 pyhd8ed1ab_0 conda-forge\n", - "typing 3.10.0.0 py39h06a4308_0 \n", - "typing-extensions 4.7.1 py39h06a4308_0 \n", - "typing_extensions 4.7.1 py39h06a4308_0 \n", - "typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n", - "tzdata 2023c h04d1e81_0 \n", - "ucx 1.15.0 h64cca9d_0 conda-forge\n", - "uri-template 1.3.0 pyhd8ed1ab_0 conda-forge\n", - "urllib3 2.0.3 py39h06a4308_0 \n", - "wandb 0.15.12 pypi_0 pypi\n", - "watermark 2.4.3 pyhd8ed1ab_0 conda-forge\n", - "wcwidth 0.2.5 pyhd3eb1b0_0 \n", - "webcolors 1.13 pyhd8ed1ab_0 conda-forge\n", - "webencodings 0.5.1 py39h06a4308_1 \n", - "websocket-client 0.58.0 py39h06a4308_4 \n", - "wheel 0.41.2 py39h06a4308_0 \n", - "widgetsnbextension 4.0.5 py39h06a4308_0 \n", - "xgboost 1.7.6 cuda118py39h6e70402_5 conda-forge\n", - "xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge\n", - "xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n", - "xorg-libice 1.1.1 hd590300_0 conda-forge\n", - "xorg-libsm 1.2.4 h7391055_0 conda-forge\n", - "xorg-libx11 1.8.7 h8ee46fc_0 conda-forge\n", - "xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n", - "xorg-libxrender 0.9.11 hd590300_0 conda-forge\n", - "xorg-libxt 1.3.0 hd590300_1 conda-forge\n", - "xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n", - "xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n", - "xorg-xproto 7.0.31 h27cfd23_1007 \n", - "xyzservices 2022.9.0 py39h06a4308_1 \n", - "xz 5.4.2 h5eee18b_0 \n", - "yaml 0.2.5 h7b6447c_0 \n", - "zeromq 4.3.4 h2531618_0 \n", - "zict 3.0.0 py39h06a4308_0 \n", - "zipp 3.11.0 py39h06a4308_0 \n", - "zlib 1.2.13 hd590300_5 conda-forge\n", - "zlib-ng 2.0.7 h0b41bf4_0 conda-forge\n", - "zstd 1.5.5 hc292b87_0\n" - ] - } - ], - "source": [ - "from kinoml.utils import watermark\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "%%capture cap --no-stderr\n", - "w = watermark()" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "with open(OUT / \"performance.json\", \"w\") as f:\n", - " json.dump(metrics, f, default=str, indent=2)\n", - " \n", - "with open(OUT/ \"watermark.txt\", \"w\") as f:\n", - " f.write(cap.stdout)\n", - "\n", - "with open(OUT / \"hparams.json\", \"w\") as f:\n", - " json.dump(_hparams, f, default=str, indent=2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And this is it! We have run an experiment end to end, from obtaining the data to evaluating and saving the model!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - }, - "papermill": { - "default_parameters": {}, - "duration": 47.037738, - "end_time": "2023-11-01T15:28:07.789750", - "environment_variables": {}, - "exception": null, - "input_path": "features/featurize-template.ipynb", - "output_path": "features/ligand-only-morgan1024-EGFR-subsample_techpaper/featurize.ipynb", - "parameters": { - "DATASET_CLS": "kinoml.datasets.chembl.ChEMBLDatasetProvider", - "DATASET_KWARGS": { - "measurement_types": [ - "pIC50", - "pKd", - "pKi" - ], - "path_or_url": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper/filtered_dataset_EGFR.csv", - "sample": 3000, - "uniprot_ids": [ - "P00533" - ] - }, - "FEATURIZE_KWARGS": { - "keep": false - }, - "GROUPS": [ - [ - "kinoml.datasets.groups.CallableGrouper", - { - "function": "lambda measurement: type(measurement).__name__" - } - ] - ], - "HERE": "/home/raquellrdc/Desktop/postdoc/kinoml_tech_paper_experiments/experiments-binding-affinity/features/ligand-only-morgan1024-EGFR-subsample_techpaper", - "PIPELINES": { - "ligand": [ - [ - "kinoml.features.ligand.MorganFingerprintFeaturizer", - { - "nbits": 1024, - "radius": 2 - } - ] - ] - }, - "PIPELINES_AGG": "kinoml.features.core.TupleOfArrays", - "PIPELINES_AGG_KWARGS": {}, - "TRAIN_TEST_VAL_KWARGS": { - "idx_test": 0.1, - "idx_train": 0.8, - "idx_val": 0.1 - } - }, - "start_time": "2023-11-01T15:27:20.752012", - "version": "2.2.2" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": { - "30c36494aa4d4f1bb67116a4a0fba084": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "313e440c21db46afb5e48570119c4cd4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_462f28af6d5b4168a4a3940066793167", - "placeholder": "​", - "style": "IPY_MODEL_4fa6e32448d74772958e4d41e2ebaea7", - "tabbable": null, - "tooltip": null, - "value": "100%" - } - }, - "462f28af6d5b4168a4a3940066793167": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4fa6e32448d74772958e4d41e2ebaea7": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "5b2ed1c1f9924a02847b5f3dcacdece8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_30c36494aa4d4f1bb67116a4a0fba084", - "max": 3000, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db47babf9bbe467788ca7ee592e02a81", - "tabbable": null, - "tooltip": null, - "value": 3000 - } - }, - "8f2226e2e7ac4c3caf52ce26d2300b05": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "background": null, - "description_width": "", - "font_size": null, - "text_color": null - } - }, - "a117cbd41da04e2db24485d206ff553c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c63e6335e97544d78dd2d49c044953fa": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "2.0.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border_bottom": null, - "border_left": null, - "border_right": null, - "border_top": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c92ca9ec49ba4a8ebfeb386c0bad1360": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_313e440c21db46afb5e48570119c4cd4", - "IPY_MODEL_5b2ed1c1f9924a02847b5f3dcacdece8", - "IPY_MODEL_fde17115434e4c5589c8b9ff33492e79" - ], - "layout": "IPY_MODEL_a117cbd41da04e2db24485d206ff553c", - "tabbable": null, - "tooltip": null - } - }, - "db47babf9bbe467788ca7ee592e02a81": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "fde17115434e4c5589c8b9ff33492e79": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "2.0.0", - "_view_name": "HTMLView", - "description": "", - "description_allow_html": false, - "layout": "IPY_MODEL_c63e6335e97544d78dd2d49c044953fa", - "placeholder": "​", - "style": "IPY_MODEL_8f2226e2e7ac4c3caf52ce26d2300b05", - "tabbable": null, - "tooltip": null, - "value": " 3000/3000 [00:00<00:00, 41070.16it/s]" - } - } - }, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv deleted file mode 100644 index 8461bf6d..00000000 Binary files a/docs/_build/html/objects.inv and /dev/null differ diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html deleted file mode 100644 index 5dc6f6bb..00000000 --- a/docs/_build/html/py-modindex.html +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Python Module Index — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- - -

Python Module Index

- -
- k -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
- k
- kinoml -
    - kinoml._version -
    - kinoml.analysis -
    - kinoml.analysis.metrics -
    - kinoml.analysis.plots -
    - kinoml.core -
    - kinoml.core.components -
    - kinoml.core.conditions -
    - kinoml.core.ligands -
    - kinoml.core.measurements -
    - kinoml.core.proteins -
    - kinoml.core.sequences -
    - kinoml.core.systems -
    - kinoml.databases -
    - kinoml.databases.klifs -
    - kinoml.databases.pdb -
    - kinoml.databases.uniprot -
    - kinoml.datasets -
    - kinoml.datasets.chembl -
    - kinoml.datasets.core -
    - kinoml.datasets.groups -
    - kinoml.datasets.pkis2 -
    - kinoml.datasets.torch_datasets -
    - kinoml.datasets.torch_geometric_datasets -
    - kinoml.docking -
    - kinoml.docking.OEDocking -
    - kinoml.docking.SCHRODINGERDocking -
    - kinoml.features -
    - kinoml.features.complexes -
    - kinoml.features.core -
    - kinoml.features.ligand -
    - kinoml.features.protein -
    - kinoml.ml -
    - kinoml.ml.lightning_modules -
    - kinoml.ml.tensorflow_models -
    - kinoml.ml.torch_geometric_models -
    - kinoml.ml.torch_loops -
    - kinoml.ml.torch_models -
    - kinoml.ml.torch_trees -
    - kinoml.modeling -
    - kinoml.modeling.alignment -
    - kinoml.modeling.MDAnalysisModeling -
    - kinoml.modeling.OEModeling -
    - kinoml.modeling.SCHRODINGERModeling -
    - kinoml.optimize -
    - kinoml.utils -
    - kinoml.workflows -
- - -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html deleted file mode 100644 index 18e6982c..00000000 --- a/docs/_build/html/search.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Search — KinoML 0.1 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to content -
- -
- - -
- - - - -
-
- -
-
-
- -
-
-
-
-
-
- - -
-
-
- -
-
- -

Search

-
- -

- Please activate JavaScript to enable the search - functionality. -

-
- -
- -
- -
-
-
-
-
- - - - - \ No newline at end of file diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js deleted file mode 100644 index 05f5d174..00000000 --- a/docs/_build/html/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"docnames": ["api/kinoml/_version/index", "api/kinoml/analysis/index", "api/kinoml/analysis/metrics/index", "api/kinoml/analysis/plots/index", "api/kinoml/core/components/index", "api/kinoml/core/conditions/index", "api/kinoml/core/index", "api/kinoml/core/ligands/index", "api/kinoml/core/measurements/index", "api/kinoml/core/proteins/index", "api/kinoml/core/sequences/index", "api/kinoml/core/systems/index", "api/kinoml/databases/index", "api/kinoml/databases/klifs/index", "api/kinoml/databases/pdb/index", "api/kinoml/databases/uniprot/index", "api/kinoml/datasets/chembl/index", "api/kinoml/datasets/core/index", "api/kinoml/datasets/groups/index", "api/kinoml/datasets/index", "api/kinoml/datasets/pkis2/index", "api/kinoml/datasets/torch_datasets/index", "api/kinoml/datasets/torch_geometric_datasets/index", "api/kinoml/docking/OEDocking/index", "api/kinoml/docking/SCHRODINGERDocking/index", "api/kinoml/docking/index", "api/kinoml/features/complexes/index", "api/kinoml/features/core/index", "api/kinoml/features/index", "api/kinoml/features/ligand/index", "api/kinoml/features/protein/index", "api/kinoml/index", "api/kinoml/ml/index", "api/kinoml/ml/lightning_modules/index", "api/kinoml/ml/tensorflow_models/index", "api/kinoml/ml/torch_geometric_models/index", "api/kinoml/ml/torch_loops/index", "api/kinoml/ml/torch_models/index", "api/kinoml/ml/torch_trees/index", "api/kinoml/modeling/MDAnalysisModeling/index", "api/kinoml/modeling/OEModeling/index", "api/kinoml/modeling/SCHRODINGERModeling/index", "api/kinoml/modeling/alignment/index", "api/kinoml/modeling/index", "api/kinoml/optimize/index", "api/kinoml/utils/index", "api/kinoml/workflows/index", "index", "notebooks/OpenEye_structural_featurizer", "notebooks/Schrodinger_structural_featurizer", "notebooks/getting_started", "notebooks/kinase-ligand-informed-morgan-composition-EGFR", "notebooks/kinase-ligand-informed-smiles-sequence-EGFR", "notebooks/kinoml_object_model", "notebooks/ligand-only-morgan1024-EGFR", "notebooks/ligand-only-smiles-EGFR"], "filenames": ["api/kinoml/_version/index.rst", "api/kinoml/analysis/index.rst", "api/kinoml/analysis/metrics/index.rst", "api/kinoml/analysis/plots/index.rst", "api/kinoml/core/components/index.rst", "api/kinoml/core/conditions/index.rst", "api/kinoml/core/index.rst", "api/kinoml/core/ligands/index.rst", "api/kinoml/core/measurements/index.rst", "api/kinoml/core/proteins/index.rst", "api/kinoml/core/sequences/index.rst", "api/kinoml/core/systems/index.rst", "api/kinoml/databases/index.rst", "api/kinoml/databases/klifs/index.rst", "api/kinoml/databases/pdb/index.rst", "api/kinoml/databases/uniprot/index.rst", "api/kinoml/datasets/chembl/index.rst", "api/kinoml/datasets/core/index.rst", "api/kinoml/datasets/groups/index.rst", "api/kinoml/datasets/index.rst", "api/kinoml/datasets/pkis2/index.rst", "api/kinoml/datasets/torch_datasets/index.rst", "api/kinoml/datasets/torch_geometric_datasets/index.rst", "api/kinoml/docking/OEDocking/index.rst", "api/kinoml/docking/SCHRODINGERDocking/index.rst", "api/kinoml/docking/index.rst", "api/kinoml/features/complexes/index.rst", "api/kinoml/features/core/index.rst", "api/kinoml/features/index.rst", "api/kinoml/features/ligand/index.rst", "api/kinoml/features/protein/index.rst", "api/kinoml/index.rst", "api/kinoml/ml/index.rst", "api/kinoml/ml/lightning_modules/index.rst", "api/kinoml/ml/tensorflow_models/index.rst", "api/kinoml/ml/torch_geometric_models/index.rst", "api/kinoml/ml/torch_loops/index.rst", "api/kinoml/ml/torch_models/index.rst", "api/kinoml/ml/torch_trees/index.rst", "api/kinoml/modeling/MDAnalysisModeling/index.rst", "api/kinoml/modeling/OEModeling/index.rst", "api/kinoml/modeling/SCHRODINGERModeling/index.rst", "api/kinoml/modeling/alignment/index.rst", "api/kinoml/modeling/index.rst", "api/kinoml/optimize/index.rst", "api/kinoml/utils/index.rst", "api/kinoml/workflows/index.rst", "index.md", "notebooks/OpenEye_structural_featurizer.nblink", "notebooks/Schrodinger_structural_featurizer.nblink", "notebooks/getting_started.nblink", "notebooks/kinase-ligand-informed-morgan-composition-EGFR.nblink", "notebooks/kinase-ligand-informed-smiles-sequence-EGFR.nblink", "notebooks/kinoml_object_model.nblink", "notebooks/ligand-only-morgan1024-EGFR.nblink", "notebooks/ligand-only-smiles-EGFR.nblink"], "titles": ["kinoml._version", "kinoml.analysis", "kinoml.analysis.metrics", "kinoml.analysis.plots", "kinoml.core.components", "kinoml.core.conditions", "kinoml.core", "kinoml.core.ligands", "kinoml.core.measurements", "kinoml.core.proteins", "kinoml.core.sequences", "kinoml.core.systems", "kinoml.databases", "kinoml.databases.klifs", "kinoml.databases.pdb", "kinoml.databases.uniprot", "kinoml.datasets.chembl", "kinoml.datasets.core", "kinoml.datasets.groups", "kinoml.datasets", "kinoml.datasets.pkis2", "kinoml.datasets.torch_datasets", "kinoml.datasets.torch_geometric_datasets", "kinoml.docking.OEDocking", "kinoml.docking.SCHRODINGERDocking", "kinoml.docking", "kinoml.features.complexes", "kinoml.features.core", "kinoml.features", "kinoml.features.ligand", "kinoml.features.protein", "kinoml", "kinoml.ml", "kinoml.ml.lightning_modules", "kinoml.ml.tensorflow_models", "kinoml.ml.torch_geometric_models", "kinoml.ml.torch_loops", "kinoml.ml.torch_models", "kinoml.ml.torch_trees", "kinoml.modeling.MDAnalysisModeling", "kinoml.modeling.OEModeling", "kinoml.modeling.SCHRODINGERModeling", "kinoml.modeling.alignment", "kinoml.modeling", "kinoml.optimize", "kinoml.utils", "kinoml.workflows", "KinoML", "OpenEye Structural Featurizer", "Schrodinger Structural Featurizer", "Getting started with KinoML", "Kinase informed morgan 1024 experiment", "Kinase informed SMILES experiment", "KinoML object model", "Ligand-only morgan 1024 experiment", "Ligand-only SMILES experiment"], "terms": {"git": [0, 51, 52, 54, 55], "implement": [0, 8, 17, 27, 30, 35, 38, 47, 48, 49, 50, 51, 52, 54, 55], "py": [0, 51, 52, 53, 54, 55], "get_keyword": 0, "get": [0, 2, 7, 9, 11, 21, 26, 27, 29, 31, 39, 40, 45, 48, 49, 51, 52, 53, 54, 55], "keyword": [0, 7, 8, 51, 52, 54, 55], "need": [0, 8, 9, 21, 22, 26, 27, 35, 37, 39, 41, 45, 49, 51, 52, 53, 54, 55], "look": [0, 21, 50, 53], "up": [0, 21, 39, 48, 49, 50], "version": [0, 31, 45, 48, 49, 51, 52, 54, 55], "inform": [0, 5, 8, 10, 17, 20, 26, 27, 30, 31, 37, 39, 40, 47, 48, 49, 50, 53, 54, 55], "class": [0, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 20, 21, 22, 26, 27, 29, 30, 33, 35, 36, 37, 45, 50, 51, 52, 53, 54, 55], "versioneerconfig": 0, "contain": [0, 2, 5, 8, 11, 16, 17, 21, 22, 23, 24, 26, 27, 29, 37, 39, 40, 45, 49, 50, 51, 52, 53, 54, 55], "configur": 0, "paramet": [0, 2, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 34, 35, 36, 37, 39, 40, 41, 42, 45, 48, 49], "get_config": 0, "creat": [0, 7, 9, 10, 16, 17, 18, 20, 29, 45, 50], "popul": [0, 27], "return": [0, 2, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 21, 22, 23, 26, 27, 29, 30, 31, 34, 36, 37, 39, 40, 41, 42, 45, 48, 49, 53], "object": [0, 5, 7, 8, 9, 10, 11, 16, 17, 18, 20, 21, 22, 23, 26, 27, 30, 33, 38, 45, 47, 48, 49, 50, 51, 52, 54, 55], "except": [0, 39, 40, 51, 52, 53, 54, 55], "notthismethod": 0, "base": [0, 2, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 20, 21, 22, 26, 27, 29, 30, 33, 35, 37, 41, 45, 47, 48, 49, 51, 52, 53, 54, 55], "rais": [0, 9, 13, 16, 20, 26, 27, 39, 40, 51, 52, 53, 54, 55], "method": [0, 7, 8, 9, 10, 17, 21, 23, 26, 27, 28, 29, 30, 35, 37, 48, 51, 52, 53, 54, 55], "i": [0, 2, 7, 8, 9, 10, 11, 14, 16, 17, 18, 20, 21, 26, 27, 29, 30, 31, 34, 35, 37, 39, 40, 45, 47, 48, 49, 50, 53], "valid": [0, 5, 8, 16, 20, 21, 33, 36, 40, 41, 51, 52, 54, 55], "current": [0, 17, 26, 27, 29, 34, 40, 45, 51, 52, 53, 54, 55], "scenario": 0, "long_version_pi": 0, "handler": [0, 45], "register_vcs_handl": 0, "vc": 0, "decor": [0, 7, 9, 29, 51, 52, 54, 55], "mark": [0, 39, 40], "particular": [0, 8, 11], "run_command": 0, "command": 0, "arg": [0, 2, 4, 5, 8, 11, 17, 27, 33, 37, 39, 45, 48], "cwd": 0, "none": [0, 4, 7, 8, 9, 10, 16, 17, 20, 21, 23, 24, 26, 27, 29, 30, 33, 39, 40, 41, 45, 47, 48, 49, 51, 52, 54, 55], "verbos": [0, 2, 51, 52, 54, 55], "fals": [0, 14, 15, 17, 18, 21, 23, 24, 26, 27, 33, 39, 40, 45, 48, 49, 50, 51, 52, 53, 54, 55], "hide_stderr": 0, "env": [0, 50, 51, 52, 53, 54, 55], "call": [0, 20, 27, 37, 45, 47, 50, 53], "given": [0, 5, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 23, 26, 27, 29, 30, 36, 37, 39, 40, 41, 45, 48, 49, 51, 52, 53, 54, 55], "": [0, 2, 8, 10, 22, 23, 26, 29, 45, 50, 51, 52, 53, 54, 55], "versions_from_parentdir": 0, "parentdir_prefix": 0, "root": [0, 2], "try": [0, 21, 26, 49, 51, 52, 53, 54, 55], "determin": [0, 26], "from": [0, 7, 8, 9, 10, 16, 17, 20, 21, 26, 27, 29, 30, 33, 36, 39, 40, 41, 42, 47, 48, 49, 50, 51, 52, 53, 54, 55], "parent": [0, 37, 51, 52, 54, 55], "directori": [0, 14, 15, 24, 26, 27, 30, 41, 45, 48, 49, 52], "name": [0, 4, 5, 7, 9, 10, 11, 14, 18, 24, 26, 27, 30, 33, 39, 40, 48, 49, 50, 51, 52, 53, 54, 55], "sourc": [0, 9, 10, 16, 50, 51, 52, 54, 55], "tarbal": 0, "convention": 0, "unpack": 0, "includ": [0, 5, 8, 10, 17, 26, 50, 53], "both": [0, 53], "project": [0, 49], "string": [0, 9, 10, 21, 26, 27, 29, 30, 40, 48, 49, 51, 52, 54, 55], "we": [0, 5, 8, 17, 21, 27, 35, 37, 45, 47, 50, 51, 52, 54, 55], "also": [0, 8, 17, 21, 26, 27, 33, 37, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 55], "support": [0, 7, 9, 27, 39, 40, 47, 48, 49, 50, 53], "search": [0, 26, 48, 49], "two": [0, 11, 17, 21, 26, 27, 29, 37, 40, 42, 47, 51, 52, 53, 54, 55], "level": [0, 8, 11, 48, 49, 51, 52, 53, 54, 55], "an": [0, 5, 7, 8, 9, 10, 11, 17, 21, 22, 23, 24, 26, 27, 29, 30, 37, 39, 40, 41, 45, 48, 49, 50, 51, 52, 54, 55], "appropri": [0, 8, 24, 50], "git_get_keyword": 0, "versionfile_ab": 0, "extract": [0, 21, 27, 29], "file": [0, 7, 9, 14, 15, 16, 17, 20, 21, 24, 26, 27, 30, 39, 40, 41, 45, 48, 49, 50, 51, 52, 53, 54, 55], "git_versions_from_keyword": 0, "tag_prefix": 0, "git_pieces_from_vc": 0, "describ": [0, 14], "tree": [0, 37, 38], "thi": [0, 2, 8, 11, 16, 17, 18, 21, 26, 27, 30, 34, 35, 37, 39, 40, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "onli": [0, 5, 10, 11, 16, 20, 21, 26, 27, 35, 37, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53], "archiv": [0, 50], "subst": 0, "were": [0, 8, 17, 26, 27, 39, 40, 53], "expand": 0, "hasn": 0, "t": [0, 26, 27, 51, 52, 54, 55], "alreadi": [0, 17, 18], "been": [0, 17, 18], "rewritten": 0, "short": [0, 39, 40], "mean": [0, 2, 17, 21, 27, 47, 48, 49, 50, 51, 52, 54, 55], "re": [0, 17], "insid": [0, 45], "check": [0, 5, 8, 11, 17, 26, 27, 29, 30, 40, 45, 47, 49, 51, 54, 55], "out": [0, 11, 16, 17, 27, 47, 48, 49, 51, 52, 54, 55], "plus_or_dot": 0, "piec": [0, 45, 48], "don": 0, "have": [0, 5, 8, 17, 21, 26, 27, 30, 37, 39, 48, 49, 50, 51, 52, 53, 54, 55], "one": [0, 2, 5, 8, 9, 10, 11, 17, 21, 26, 27, 29, 30, 37, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55], "els": [0, 14, 35, 37, 40, 45, 51, 52, 53, 54, 55], "render_pep440": 0, "build": [0, 10, 17, 21, 26, 27, 30, 34, 35, 37, 41, 48, 49, 51, 52, 54, 55], "post": [0, 26], "releas": [0, 16, 47, 51, 52, 53, 54, 55], "local": [0, 45, 49, 51, 52, 54, 55], "identifi": [0, 8, 13, 14, 15, 26, 39, 40, 49, 51, 52, 53, 54, 55], "our": [0, 35, 37, 51, 52, 54, 55], "goal": [0, 51, 52, 54, 55], "tag": [0, 23, 26, 39, 40], "distanc": [0, 40], "ghex": 0, "dirti": 0, "note": [0, 8, 11, 40, 48, 49, 51, 52, 53, 54, 55], "you": [0, 16, 17, 21, 22, 26, 27, 33, 37, 40, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "ll": [0, 21], "0": [0, 2, 5, 8, 9, 17, 18, 21, 22, 26, 27, 33, 36, 37, 39, 40, 48, 49, 50, 51, 52, 53, 54, 55], "1": [0, 2, 8, 10, 18, 20, 21, 22, 23, 24, 26, 27, 29, 33, 35, 37, 39, 40, 42, 48, 49, 53], "git_describ": 0, "wa": [0, 8, 11, 17, 26, 27, 30, 39, 40, 48, 49, 50, 53], "just": [0, 11, 33, 48, 49, 50], "hex": 0, "untag": 0, "render_pep440_pr": 0, "devdist": 0, "No": [0, 13, 21, 39, 40, 48], "render_pep440_post": 0, "postdist": 0, "dev0": 0, "The": [0, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 27, 29, 30, 33, 35, 36, 37, 39, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "sort": [0, 48, 49, 51, 52, 54, 55], "backward": [0, 51, 52, 54, 55], "appear": 0, "older": 0, "than": [0, 8, 16, 21, 27, 35, 37, 39, 40, 51, 52, 54, 55], "correspond": [0, 10, 17, 21, 26, 30, 35, 36, 37, 40, 48, 49, 50], "clean": [0, 17, 26, 50], "shouldn": [0, 26, 27], "softwar": [0, 47], "anywai": [0, 53], "render_pep440_old": 0, "eexcept": 0, "render_git_describ": 0, "like": [0, 2, 4, 5, 7, 8, 9, 10, 11, 17, 21, 22, 26, 27, 29, 30, 33, 45, 47, 48, 49, 51, 52, 53, 54, 55], "alwai": [0, 21, 28, 51, 52, 53, 54, 55], "g": [0, 7, 8, 9, 10, 16, 20, 21, 26, 27, 30, 36, 40, 41, 48, 49, 51, 52, 53, 54, 55], "prefix": [0, 45, 51, 52, 54, 55], "render_git_describe_long": 0, "long": [0, 21], "hash": [0, 5, 27, 45, 51, 52, 54, 55], "uncondit": 0, "render": [0, 51, 52, 54, 55], "style": [0, 17, 27, 51, 52, 54, 55], "request": [0, 27, 40, 51, 52, 54, 55], "get_vers": [0, 31], "default": [0, 2, 7, 9, 10, 11, 14, 16, 20, 23, 24, 26, 27, 30, 31, 35, 37, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55], "unabl": [0, 31], "do": [0, 5, 8, 17, 18, 21, 27, 28, 31, 33, 39, 40, 47, 48, 49, 50, 51, 52, 54, 55], "so": [0, 8, 16, 21, 27, 31, 35, 37, 47, 50, 51, 52, 53, 54, 55], "metric": [1, 26, 31, 33, 48, 49, 50, 51, 52, 54, 55], "plot": [1, 31, 45, 50, 51, 52, 54, 55], "root_mean_squared_error": 2, "kwarg": [2, 3, 4, 5, 7, 8, 9, 10, 11, 17, 18, 21, 22, 26, 27, 29, 30, 33, 37, 45, 51, 52, 54, 55], "squar": 2, "scikit": [2, 51, 52, 54, 55], "learn": [2, 11, 31, 36, 47, 50, 51, 52, 53, 54, 55], "mean_squared_error": 2, "all": [2, 4, 5, 10, 11, 16, 17, 21, 24, 26, 27, 29, 30, 37, 39, 40, 47, 48, 49, 50, 51, 52, 53, 54, 55], "argument": [2, 7, 8, 17, 40, 51, 52, 53, 54, 55], "ar": [2, 4, 5, 8, 11, 16, 17, 18, 20, 21, 22, 26, 27, 29, 30, 37, 39, 40, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "forward": [2, 17, 27, 33, 35, 37, 45], "function": [2, 8, 17, 18, 21, 27, 35, 36, 37, 45, 51, 52, 53, 54, 55], "perform": [2, 3, 5, 8, 10, 11, 17, 26, 47, 48, 49, 50, 51, 52, 53, 54, 55], "predict": [2, 3, 8, 21, 50, 51, 52, 54, 55], "observ": [2, 3, 8, 17, 21, 27, 36], "true": [2, 3, 5, 7, 8, 11, 17, 18, 21, 23, 24, 26, 27, 30, 33, 35, 37, 39, 40, 41, 45, 48, 49, 50, 51, 52, 54, 55], "n_boot": 2, "100": [2, 8, 21, 35, 36, 37, 51, 52, 53, 54], "confid": 2, "95": 2, "sample_ratio": 2, "8": [2, 21, 33, 48, 49, 50, 51, 52, 53, 54, 55], "_seed": 2, "1234": [2, 45, 51, 52, 54, 55], "measur": [2, 5, 6, 11, 16, 17, 18, 20, 21, 27, 31, 36, 37, 45, 50, 51, 52, 54, 55], "v": [2, 51, 52, 54, 55], "differ": [2, 8, 11, 16, 17, 18, 21, 26, 27, 48, 49, 50, 51, 52, 53, 54, 55], "r2": [2, 51, 52, 54, 55], "mse": [2, 8, 51, 52, 54, 55], "mae": [2, 24, 26, 41, 49, 51, 52, 54, 55], "rmse": [2, 51, 52, 54, 55], "arrai": [2, 8, 11, 17, 21, 22, 27, 28, 29, 30, 37, 50, 51, 52, 53, 54, 55], "data": [2, 7, 8, 9, 10, 16, 17, 20, 21, 22, 26, 33, 34, 35, 36, 45, 47, 48, 49, 53], "point": [2, 16, 17, 36, 53], "model": [2, 3, 8, 9, 17, 21, 26, 27, 29, 30, 31, 33, 34, 36, 37, 47, 48, 49], "avail": [2, 8, 9, 10, 14, 26, 27, 30, 40, 42, 45, 47, 48, 49, 51, 52, 53, 54, 55], "dataset": [2, 8, 27, 31, 33, 50, 53], "bool": [2, 5, 7, 8, 11, 14, 15, 18, 21, 23, 24, 26, 27, 29, 30, 37, 39, 40, 41, 45, 48, 49], "option": [2, 5, 8, 10, 11, 16, 17, 18, 21, 26, 27, 29, 30, 40, 45, 48, 49, 51, 52, 54, 55], "whether": [2, 5, 8, 11, 21, 26, 27, 29, 37, 51, 52, 54, 55], "print": [2, 33, 45, 48, 49, 50, 51, 52, 53, 54, 55], "result": [2, 11, 17, 18, 27, 29, 37, 39, 40, 41, 48, 49, 51, 52, 53, 54, 55], "stdout": [2, 51, 52, 54, 55], "int": [2, 5, 8, 9, 10, 16, 17, 18, 21, 23, 24, 26, 27, 29, 30, 34, 35, 36, 37, 39, 40, 42, 45, 48, 49, 50, 51, 52, 54, 55], "number": [2, 23, 24, 26, 27, 29, 30, 35, 36, 37, 39, 40, 45, 48, 49, 50, 51, 52, 54, 55], "bootstrap": [2, 51, 52, 54, 55], "iter": [2, 8, 11, 14, 16, 17, 20, 27, 33, 36, 39, 40, 45, 50, 51, 52, 54, 55], "set": [2, 8, 16, 17, 18, 20, 26, 35, 37, 39, 40, 45, 48, 49, 50, 51, 52, 54, 55], "disabl": [2, 8], "float": [2, 5, 8, 11, 26, 36, 37, 40, 41, 42], "interv": [2, 27], "rel": [2, 45], "proport": [2, 18, 51, 52, 54, 55], "sampl": [2, 16, 24, 26, 41, 49, 50, 51, 52, 53, 54, 55], "each": [2, 5, 17, 18, 21, 26, 27, 29, 30, 37, 40, 47, 48, 49, 50, 51, 52, 53, 54, 55], "random": [2, 18, 37, 38, 45, 50, 51, 52, 54, 55], "seed": [2, 45, 51, 52, 54, 55], "initi": [2, 5, 8, 9, 21, 26, 27, 30, 35, 37, 47, 48, 49, 51, 52, 53, 54, 55], "dictionari": [2, 5, 10, 11, 14, 17, 18, 26, 27, 51, 52, 54, 55], "item": [2, 17, 45, 51, 52, 54, 55], "per": [2, 8, 17, 21, 23, 24, 35, 36, 37, 48, 49], "see": [2, 7, 8, 17, 21, 26, 27, 30, 48, 49, 50, 51, 52, 54, 55], "abov": [2, 21, 37, 50], "4": [2, 10, 21, 23, 26, 30, 33, 37, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55], "element": [2, 8, 10, 18, 27, 29, 37, 45], "tupl": [2, 8, 16, 17, 18, 21, 26, 27, 29, 34, 37, 39, 40, 45], "standard": [2, 8, 36, 39, 40, 45, 48, 49, 51, 52, 54, 55], "deviat": [2, 51, 52, 54, 55], "lower": 2, "upper": [2, 39, 51, 52, 53, 54, 55], "bound": [2, 10, 26, 27, 30, 39, 48, 49], "type": [2, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 23, 26, 27, 29, 30, 34, 36, 39, 40, 42, 45, 50, 51, 52, 53, 54, 55], "dict": [2, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 20, 21, 27, 36, 40, 51, 52, 53, 54, 55], "todo": [2, 8, 17, 51, 54, 55], "reimplement": [2, 27], "scipi": [2, 51, 52, 54, 55], "stat": [2, 51, 52, 54, 55], "norm": 2, "numpi": [2, 11, 17, 21, 27, 29, 30, 45, 51, 52, 53, 54, 55], "common": [3, 26, 51, 52, 54, 55], "ml": [3, 31, 47, 51, 52, 54, 55], "predicted_vs_observ": [3, 51, 52, 54, 55], "measurement_typ": [3, 16, 17, 36, 50, 51, 52, 53, 54, 55], "with_metr": 3, "molecularcompon": [4, 7, 8, 9, 10, 11, 53], "One": [4, 8, 27, 29], "more": [4, 8, 11, 17, 21, 22, 27, 37, 41, 47, 48, 49, 50, 51, 52, 53, 54, 55], "can": [4, 5, 8, 10, 11, 16, 17, 21, 26, 27, 30, 33, 35, 37, 39, 40, 42, 45, 48, 49, 50, 51, 52, 53, 54, 55], "form": [4, 48, 50, 51, 52, 54, 55], "system": [4, 6, 8, 17, 21, 26, 27, 29, 30, 31, 35, 37, 40, 48, 49, 50, 51, 52, 54, 55], "protein": [4, 6, 10, 11, 16, 20, 23, 24, 26, 27, 28, 31, 37, 39, 40, 41, 48, 49, 50, 51, 52, 54, 55], "ligand": [4, 6, 11, 14, 20, 23, 24, 26, 27, 28, 30, 31, 37, 40, 41, 48, 49, 50, 51, 52], "other": [4, 5, 8, 9, 10, 21, 27, 37, 40, 50, 53], "molecular": [4, 7, 8, 9, 11, 26, 27, 29, 30, 37, 39, 40, 48, 49, 51, 52, 54, 55], "entiti": [4, 7, 8, 9, 11, 26, 27, 37], "deriv": 4, "metadata": [4, 7, 8, 9, 10, 16, 17, 20, 21, 27, 50, 51, 52, 53, 54, 55], "abstract": [4, 8, 11, 17, 18, 22, 27], "__repr__": [4, 5, 8, 11, 17, 21, 22, 27], "str": [4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 27, 29, 30, 33, 36, 39, 40, 41, 42, 45, 48, 49, 51, 52, 53, 54, 55], "repr": [4, 5, 8, 11, 17, 21, 22, 27], "self": [4, 5, 8, 11, 17, 21, 22, 26, 27, 29, 37, 53], "baseligand": [4, 7, 26, 48, 49], "baseprotein": [4, 9], "store": [5, 8, 11, 17, 21, 26, 27, 37, 45, 48, 49, 50, 51, 52, 53, 54, 55], "attribut": [5, 7, 8, 9, 22, 26, 27, 30, 33, 37, 48, 49, 50, 53], "which": [5, 8, 9, 16, 17, 21, 24, 26, 27, 30, 35, 37, 39, 40, 47, 48, 49, 50, 51, 53, 54, 55], "should": [5, 7, 10, 18, 26, 27, 30, 33, 37, 39, 40, 41, 45, 48, 49, 51, 52, 54, 55], "here": [5, 8, 17, 45, 51, 52, 53, 54, 55], "defin": [5, 8, 11, 14, 17, 23, 27, 29, 37, 39, 40, 48, 49], "For": [5, 7, 8, 17, 48, 49, 50, 51, 52, 53, 54, 55], "exampl": [5, 11, 34, 37, 47, 48, 49, 51, 52, 53, 54, 55], "experiment": [5, 8, 53], "assaycondit": [5, 8, 50, 53], "specifi": [5, 10, 16, 20, 21, 26, 27, 30, 39, 40, 48, 49, 50, 51, 52, 53, 54, 55], "variabl": [5, 17, 26, 37, 51, 52, 54, 55], "involv": [5, 40], "experi": [5, 8, 16, 27, 37, 47, 50, 53], "ph": [5, 23, 26, 30, 40, 41, 48, 49, 50, 53], "basecondit": 5, "strict": [5, 8, 11], "about": [5, 8, 13, 27, 37, 39, 47, 50, 51, 52, 53, 54, 55], "ensur": 5, "immut": 5, "us": [5, 8, 9, 11, 16, 17, 18, 20, 21, 24, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55], "read": [5, 8, 21, 39, 40, 45, 51, 52, 54, 55], "properti": [5, 7, 8, 9, 10, 11, 17, 27, 33, 51, 52, 54, 55], "NOT": [5, 17, 27], "modifi": [5, 7, 9, 18, 22, 45, 51, 52, 54, 55], "privat": [5, 17, 27], "break": [5, 51, 52, 54, 55], "safeti": 5, "some": [5, 8, 21, 27, 35, 38, 45, 48, 51, 52, 54, 55], "valu": [5, 8, 14, 16, 17, 18, 20, 21, 27, 40, 45, 50, 51, 52, 53, 54, 55], "_properti": 5, "classnam": 5, "equal": [5, 27], "comparison": 5, "subclass": [5, 8, 10, 17, 18, 26, 27, 30, 33, 37, 48, 49], "instanc": [5, 11, 17, 27, 36, 45], "__hash__": 5, "__eq__": [5, 8], "7": [5, 21, 23, 26, 30, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55], "assai": 5, "acid": [5, 9, 10, 26, 27, 30, 39, 40, 41, 42, 48, 49, 53], "compon": [6, 7, 9, 11, 26, 27, 29, 30, 31, 37, 40, 48, 49, 50, 51, 52, 54, 55], "condit": [6, 8, 16, 17, 31, 50, 53], "sequenc": [6, 9, 26, 27, 29, 30, 31, 37, 39, 40, 41, 42, 48, 49, 52, 53], "repres": [7, 9, 35, 37, 50, 53], "logger": [7, 9, 10, 14, 16, 17, 20, 24, 26, 27, 30, 39, 40, 41, 51, 52, 54, 55], "molecul": [7, 8, 9, 14, 23, 24, 26, 27, 29, 39, 40, 41, 48, 49, 53], "openff": [7, 51, 52, 53, 54, 55], "toolkit": [7, 9, 16, 20, 26, 27, 30, 40, 48, 49, 51, 52, 53, 54, 55], "topologi": [7, 53], "smile": [7, 14, 24, 26, 29, 37, 40, 48, 49, 51, 53, 54], "new": [7, 9, 10, 26, 27, 45, 47], "represent": [7, 9, 10, 24, 26, 27, 29, 40, 51, 52, 53, 54, 55], "access": [7, 8, 9, 10, 17, 21, 26, 30, 47, 48, 49, 50, 51, 52, 53, 54, 55], "via": [7, 9, 10, 17, 21, 26, 30, 40, 42, 48, 49, 51, 52, 53, 54, 55], "from_fil": [7, 9, 48], "chloroform": 7, "sdf": [7, 14, 24, 26, 41, 48, 49], "import": [7, 9, 16, 20, 37, 40, 42, 45, 48, 49, 50, 51, 52, 53, 54, 55], "from_smil": [7, 53], "c": [7, 8, 26, 29, 30, 40, 48, 49, 51, 52, 53, 54, 55], "cl": [7, 29, 50, 51, 52, 54, 55], "lazi": [7, 9, 21, 53], "instanti": [7, 9, 51, 52, 54, 55], "setter": [7, 9], "getter": [7, 9, 27], "_molecul": [7, 9], "If": [7, 8, 9, 14, 16, 17, 18, 21, 22, 24, 26, 27, 30, 35, 36, 37, 39, 40, 41, 47, 48, 49, 51, 52, 54, 55], "_smile": 7, "e": [7, 8, 9, 10, 16, 20, 21, 26, 27, 30, 36, 39, 40, 41, 48, 49, 51, 52, 53, 54, 55], "case": [7, 8, 9, 21, 26, 27, 30, 37, 39, 41, 48, 49, 50, 51, 52, 53, 54, 55], "classmethod": [7, 8, 9, 16, 17, 20, 21, 22, 45], "allow_undefined_stereo": [7, 51, 52, 54, 55], "undefin": [7, 8], "stereo": [7, 40], "center": [7, 40], "allow": [7, 9, 10, 16, 20, 37, 40, 50, 51, 52, 53, 54, 55], "ani": [7, 17, 45, 47, 51, 52, 53, 54, 55], "file_path": [7, 9, 39, 48], "pathlib": [7, 9, 14, 15, 20, 24, 26, 27, 39, 40, 41, 45, 48, 49, 51, 52, 54, 55], "path": [7, 9, 14, 15, 16, 17, 20, 21, 22, 24, 26, 27, 30, 39, 40, 41, 45, 48, 49, 51, 52, 54, 55], "format": [7, 9, 10, 14, 21, 24, 26, 29, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55], "document": [7, 47, 50, 53], "first": [8, 10, 11, 17, 21, 26, 27, 35, 37, 40, 42, 49, 50, 51, 52, 53, 54, 55], "citizen": 8, "A": [8, 9, 11, 17, 18, 21, 23, 26, 27, 29, 30, 33, 39, 40, 45, 48, 49, 51, 52, 53, 54, 55], "datasetprovid": [8, 16, 17, 18, 20, 21, 22, 51, 52, 54, 55], "essenti": [8, 21, 53], "consid": [8, 17, 26, 27, 40, 48, 49, 50, 51, 52, 54, 55], "list": [8, 11, 16, 17, 18, 21, 23, 24, 26, 27, 33, 36, 37, 39, 40, 45, 48, 50, 51, 52, 53, 54, 55], "These": [8, 21, 27, 38, 51, 52, 54, 55], "numer": [8, 18], "under": [8, 11, 17, 21, 27, 47, 51, 52, 54, 55], "collect": [8, 11, 17, 27, 45, 47, 48, 49, 51, 52, 54, 55], "taken": [8, 17, 27, 33, 36, 48, 49], "concret": 8, "loss": [8, 17, 36, 51, 52, 54, 55], "error": [8, 21, 27, 51, 52, 53, 54, 55], "featur": [8, 11, 17, 21, 22, 31, 35, 37, 47], "ln10": 8, "basemeasur": [8, 16, 17, 20, 21, 51, 52, 54, 55], "np": [8, 17, 21, 27, 29, 30, 51, 52, 54, 55], "nan": 8, "group": [8, 17, 19, 31, 33, 39, 45], "sever": [8, 21, 27, 29, 45], "depend": [8, 9, 16, 17, 18, 20, 27, 48, 51, 52, 53, 54, 55], "thei": [8, 11, 17, 18, 21, 26, 27, 28, 47, 50, 53], "provid": [8, 9, 10, 14, 16, 17, 18, 20, 21, 26, 27, 29, 30, 36, 38, 39, 40, 47, 48, 49, 50, 51, 52, 53, 54, 55], "tailor": 8, "replic": [8, 53], "In": [8, 21, 37, 41, 47, 48, 49, 50, 51, 52, 53, 54, 55], "fact": 8, "singl": [8, 10, 17, 21, 27, 29, 40, 41, 51, 52, 54, 55], "specif": [8, 9, 17, 27, 30, 48, 49, 51, 52, 53, 54, 55], "multi": [8, 40, 51, 52, 53, 54, 55], "reshap": [8, 27], "associ": [8, 17, 27, 37, 40, 50, 51, 52, 53, 54, 55], "must": [8, 10, 16, 17, 18, 21, 26, 27, 30, 36, 37, 48, 49, 51, 52, 54, 55], "same": [8, 17, 18, 21, 26, 27, 29, 35, 36, 37, 48, 49, 50, 51, 52, 54, 55], "shape": [8, 17, 21, 24, 26, 27, 29, 34, 35, 37, 41, 51, 52, 54, 55], "label": [8, 18, 22, 29, 37, 40, 50], "part": [8, 10, 27, 39, 40, 47, 51, 52, 54, 55], "split": [8, 17, 18, 21, 33, 40, 45, 50], "accord": [8, 26, 27, 30, 39, 40, 48, 49], "share": [8, 17, 27], "research": 8, "etc": [8, 10, 17, 27, 37, 45, 51, 52, 54, 55], "proven": [8, 17, 53], "safe": 8, "rang": [8, 33, 51, 52, 54, 55], "accept": [8, 21, 33], "investig": 8, "possibl": [8, 21, 26, 48, 49, 51, 52, 53, 54, 55], "pint": [8, 51, 52, 54, 55], "observationmodelmeasur": 8, "concept": 8, "adapt": [8, 17, 21, 35, 37, 51, 52, 54, 55], "observation_model": [8, 17, 21, 33, 36, 51, 52, 54, 55], "loss_adapt": [8, 17, 51, 52, 54, 55], "backend": [8, 17, 51, 52, 54, 55], "pytorch": [8, 17, 21, 22, 33, 35, 36, 38], "It": [8, 10, 11, 16, 21, 22, 27, 51, 52, 53, 54, 55], "dispatch": 8, "underli": [8, 21], "static": [8, 10, 21, 26, 27, 29, 35, 37, 45], "suffix": 8, "_observation_model_pytorch": 8, "_observation_model_tensorflow": 8, "_static_": 8, "done": [8, 50, 53], "purpos": [8, 17, 21], "compos": [8, 37, 51, 52, 54, 55], "modular": [8, 17, 50], "signatur": 8, "henc": [8, 17, 39, 48, 49, 53], "There": [8, 48, 50, 53], "convent": 8, "though": [8, 21], "_observation_model": 8, "type_": [8, 11], "_observation_model_nul": 8, "dg_over_kt": 8, "_observation_model_xgboost": 8, "framework": [8, 17, 50], "requir": [8, 17, 26, 48, 49, 51, 53, 54, 55], "transform": [8, 26, 27, 48, 50, 51, 52, 54, 55], "callabl": [8, 17, 18, 21, 27, 33, 36, 45], "factori": [8, 45], "_loss_adapter_gener": 8, "loss_func": 8, "loss_kwarg": [8, 51, 52, 54, 55], "pre_loss_func": 8, "pre_loss_kwarg": 8, "post_loss_func": 8, "post_loss_kwarg": 8, "_loss_adapter_pytorch": 8, "_post_loss_adapt": 8, "percentagedisplacementmeasur": [8, 53], "where": [8, 21], "percentag": [8, 37], "displac": 8, "percent": 8, "kinomescan": [8, 20], "follow": [8, 9, 17, 18, 21, 22, 26, 30, 48, 49, 53], "d": [8, 21, 27, 51, 52, 54, 55], "frac": 8, "k_d": 8, "therefor": 8, "mathbf": 8, "f": [8, 27, 29, 35, 37, 48, 49, 50, 51, 52, 54, 55], "_": [8, 17, 21, 51, 52, 54, 55], "delta": 8, "exp": 8, "m": [8, 17, 21, 51, 52, 54, 55], "concentr": 8, "inclus": 8, "inhibitor_conc": 8, "standard_conc": 8, "_observation_model_numpi": 8, "_loss_adapter_xgboost_ms": 8, "gradient": [8, 51, 52, 54, 55], "hessian": 8, "l": [8, 29, 33], "y": [8, 17, 21, 22, 27, 33, 50, 51, 52, 54, 55], "hat": 8, "2": [8, 16, 17, 21, 22, 26, 29, 33, 39, 40, 48, 49, 53], "theori": 8, "detail": [8, 9, 10, 13, 16, 17, 27, 29, 45, 47, 50, 53], "pic50measur": [8, 50, 51, 52, 53, 55], "come": [8, 48, 49, 50], "pic50": [8, 16, 50, 53, 54, 55], "cheng": 8, "prusoff": 8, "equat": 8, "state": [8, 23, 26, 27, 40, 48, 49], "relationship": 8, "k_i": 8, "ic50": 8, "k_m": 8, "make": [8, 21, 50, 51, 52, 53, 54, 55], "assumpt": 8, "relax": 8, "futur": [8, 27], "approx": 8, "becom": [8, 39, 40, 51, 52, 54, 55], "ic_": 8, "50": [8, 17, 21, 35, 37, 48, 51, 52, 54, 55], "big": 8, "molar": 8, "unit": [8, 23, 26, 27, 30, 35, 37, 40, 51, 52, 54, 55], "obtain": [8, 17, 27, 51, 52, 54, 55], "tranform": 8, "log_": 8, "10": [8, 20, 21, 29, 37, 48, 49, 50, 51, 52, 53, 54, 55], "final": [8, 11, 27, 45, 47], "pic_": 8, "ln": 8, "15": [8, 48, 49, 50, 51, 52, 53, 54, 55], "substrate_conc": 8, "1e": [8, 36, 51, 52, 54, 55], "06": [8, 36, 51, 52, 54, 55], "michaelis_const": 8, "xgboost": [8, 17, 51, 52, 54, 55], "appli": [8, 10, 17, 18, 21, 26, 27, 36, 40, 48, 49, 50, 51, 52, 54, 55], "within": [8, 47], "differenti": 8, "twice": 8, "matric": [8, 42], "observation_pic50": 8, "pred": [8, 51, 52, 54, 55], "dmatrix": [8, 17], "pass": [8, 17, 18, 21, 26, 27, 34, 35, 37, 48, 51, 52, 53, 54, 55], "automat": 8, "loop": [8, 21, 26, 27, 30, 33, 36, 40, 41, 48, 49], "pkimeasur": [8, 51, 52, 53, 55], "pk_i": 8, "pk_d": 8, "pkdmeasur": [8, 51, 52, 53, 55], "kd": 8, "physic": 8, "undertaken": 8, "null_observation_model": [8, 51, 52, 54, 55], "directli": [8, 17, 26, 27, 51, 52, 53, 54, 55], "work": [8, 17, 26, 27, 39, 41, 48, 49, 50, 53], "ident": [8, 40], "when": [8, 17, 21, 26, 36, 37, 39, 40, 48, 49, 53], "pdb_id": [9, 14, 26, 30, 45, 48, 49, 53], "openey": [9, 16, 20, 23, 26, 27, 30, 39, 40, 49, 51, 52, 53, 54, 55], "oechem": [9, 23, 26, 27, 40, 51, 52, 53, 54, 55], "oemol": [9, 51, 52, 54, 55], "oegraphmol": [9, 23, 26, 27, 40, 53], "mdanalysi": [9, 16, 20, 26, 30, 39, 48, 49, 51, 52, 53, 54, 55], "univers": [9, 26, 30, 39, 48, 49, 53], "uniprot_id": [9, 10, 13, 15, 16, 26, 30, 48, 49, 50, 53, 54, 55], "ncbi_id": [9, 10, 53], "aminoacidsequ": [9, 10, 27, 53], "4f8o": [9, 48, 49], "pdb": [9, 12, 26, 27, 30, 31, 39, 40, 41, 48, 49, 53], "oemodel": [9, 31, 43], "read_molecul": [9, 39, 40], "id": [9, 10, 13, 14, 16, 23, 26, 27, 30, 39, 40, 41, 48, 49, 51, 52, 53, 54, 55], "from_pdb": [9, 48, 49, 53], "complet": [9, 40], "wildtyp": 9, "amino": [9, 10, 26, 27, 30, 39, 40, 41, 42, 48, 49, 53], "uniprot": [9, 10, 12, 13, 16, 26, 30, 31, 48, 49, 53], "p31522": [9, 48, 49], "being": [9, 21, 26, 27, 29], "atomgroup": [9, 39], "structur": [9, 14, 21, 23, 24, 26, 27, 28, 30, 31, 37, 39, 40, 41, 47, 51, 52, 53, 54, 55], "interest": [9, 14, 15, 23, 24, 26, 27, 30, 40, 47, 48, 49, 50, 54, 55], "klifskinas": [9, 16, 20, 26, 27, 48, 49, 50, 51, 52, 53, 54, 55], "structure_klifs_id": 9, "kinase_klifs_id": [9, 26, 48, 49, 53], "kinase_klifs_sequ": [9, 53], "structure_klifs_sequ": 9, "structure_klifs_residu": 9, "panda": [9, 13, 17, 26, 51, 52, 54, 55], "datafram": [9, 13, 17, 26, 51, 52, 54, 55], "residu": [9, 10, 14, 23, 26, 27, 30, 37, 39, 40, 48], "klif": [9, 12, 26, 31, 48, 49, 53], "bind": [9, 23, 24, 26, 30, 37, 40, 48, 49, 50, 51, 52, 53, 54, 55], "pocket": [9, 24, 26, 40, 48, 49, 53], "kinas": [9, 13, 20, 26, 27, 31, 47, 48, 49, 50, 53, 54, 55], "4yne": [9, 26, 48, 49, 53], "gain": 9, "p04629": [9, 48, 49, 53], "specifc": 9, "480": [9, 53], "doe": [9, 17, 26, 36, 37, 40, 49], "match": [9, 13, 27, 40, 41, 45, 51, 52, 54, 55], "3620": 9, "_query_sequence_sourc": [9, 10], "queri": [9, 10, 21, 41], "add": [9, 10, 23, 26, 51, 52, 54, 55], "addit": [9, 10, 17, 26, 27, 33, 53], "below": [9, 10, 16, 26, 30, 48, 49, 50, 51, 52, 54, 55], "fetch": [9, 10, 26, 30, 48, 49, 53], "_query_klif": 9, "_kinase_klifs_sequ": 9, "respect": [9, 21, 27, 29, 50, 53], "empti": [9, 10, 51, 52, 54, 55], "valueerror": [9, 13, 16, 20, 26, 27, 39, 40, 51, 52, 54, 55], "To": [9, 50, 51, 52, 54, 55], "_structure_klifs_sequ": 9, "_structure_klifs_residu": 9, "opencadd": [9, 51, 52, 54, 55], "databas": [9, 26, 27, 30, 31, 40, 48, 51, 52, 53, 54, 55], "pd": [9, 13, 26, 51, 52, 54, 55], "biosequ": 10, "biolog": [10, 40], "polym": [10, 26], "nucleic": 10, "peptid": 10, "letter": [10, 26, 30, 39, 40, 41, 48, 49], "code": [10, 26, 30, 33, 34, 40, 41, 47, 48, 49, 50, 51, 52, 53, 54, 55], "alphabet": [10, 27, 29, 30], "overwrit": [10, 18, 51, 52, 54, 55], "substitut": [10, 26, 30, 42, 48, 49], "xyyyz": 10, "x": [10, 17, 21, 22, 26, 27, 33, 37, 39, 40, 50, 51, 52, 54, 55], "posit": [10, 21, 23, 26, 27, 50], "yyi": 10, "z": [10, 27], "c1156y": 10, "exist": [10, 26, 45, 51, 52, 54, 55], "index": [10, 17, 21, 22, 51, 52, 54, 55], "abcd": 10, "b2f": 10, "afcd": 10, "delet": [10, 26, 30, 39, 40, 48, 49, 50], "last": [10, 11, 17, 21, 26, 27, 35, 37, 45, 48, 49, 50, 51, 52, 53, 54, 55], "insert": [10, 26, 27, 30, 39, 40, 48, 49], "between": [10, 21, 22, 27, 39, 40], "shell": [10, 24, 26, 39, 41, 49], "place": [10, 18, 45], "3": [10, 26, 39, 40, 41, 48, 49, 51, 52, 53, 54, 55], "gh": 10, "abghd": 10, "ef": 10, "abcefd": 10, "ncbi": [10, 53], "manual": [10, 48, 49], "alatripeptid": 10, "aaa": 10, "abl1": 10, "p00519": 10, "5": [10, 21, 26, 33, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55], "mleic": 10, "alter": [10, 26, 30, 39, 48, 49], "mutat": [10, 26, 39, 40, 49, 53], "ins123aga": 10, "del12": 10, "15p": 10, "p": [10, 29], "stand": 10, "prolin": 10, "t315a": 10, "multipl": [10, 13, 26, 30, 36, 40, 41, 45, 48, 49], "ad": [10, 26, 40], "sequenti": [10, 27, 34], "del320": 10, "22p": 10, "artifici": 10, "contruct": 10, "consist": [10, 27, 39, 40], "construct_rang": 10, "229": 10, "512": [10, 29], "acdefghiklmnpqrstvwi": 10, "_query_uniprot": 10, "_query_ncbi": 10, "ncbi_to_uniprot": 10, "convert": [10, 21, 22, 29, 36, 37, 41, 49, 51, 52, 54, 55], "success": [10, 14, 15, 26, 45, 51, 52, 53, 54, 55], "dnasequ": 10, "dna": 10, "atcg": 10, "rnasequ": 10, "rna": 10, "aucg": 10, "relat": [11, 21, 53], "normal": [11, 21, 27, 51, 52, 54, 55], "attach": 11, "context": [11, 45, 47, 53], "machin": [11, 31, 47, 50, 51, 52, 53, 54, 55], "exercis": 11, "found": [11, 13, 17, 26, 27, 30, 37, 39, 40, 42, 48, 49, 51, 52, 54, 55], "turn": [11, 51, 52, 54, 55], "tensor": [11, 17, 21, 35, 37], "host": [11, 50], "saniti": 11, "step": [11, 17, 26, 49, 51, 52, 53, 54, 55], "submit": 11, "kei": [11, 14, 17, 18, 20, 21, 26, 27, 36, 45, 51, 52, 53, 54, 55], "usual": [11, 17, 51, 52, 53, 54, 55], "addition": [11, 21, 26, 30, 48, 49, 50, 53], "pipelin": [11, 16, 17, 27, 51, 52, 54, 55], "might": [11, 21, 51, 52, 54, 55], "indic": [11, 17, 18, 21, 26, 33, 51, 52, 54, 55], "chain": [11, 14, 26, 27, 30, 39, 40, 41, 48, 49], "gener": [11, 17, 23, 24, 26, 27, 29, 30, 39, 40, 41, 45, 48, 49, 51, 52, 53, 54, 55], "readabl": [11, 50, 51, 52, 54, 55], "weight": [11, 51, 52, 54, 55], "calcul": [11, 26, 27, 40, 42, 47, 48, 49], "how": [11, 26, 27, 30, 37, 40, 47, 48, 49, 50, 51, 52, 54, 55], "why": 11, "_components_by_typ": 11, "yield": 11, "proteinsystem": [11, 30, 48, 53], "ligandsystem": [11, 27, 29, 53], "proteinligandcomplex": [11, 26, 27, 29, 30, 48, 49, 50, 51, 52, 53, 54, 55], "least": [11, 21, 27, 51, 52, 54, 55], "klifs_kinase_from_uniprot_id": 13, "retriev": [13, 14, 17, 23, 27, 37, 40], "seri": 13, "smiles_from_pdb": 14, "ligand_id": 14, "chemic": [14, 17, 51, 52, 54, 55], "download_pdb_structur": 14, "user_cache_dir": [14, 15, 24, 26, 27, 30, 48, 49], "download": [14, 15, 16, 17, 40, 45, 47, 53], "cif": [14, 39], "save": [14, 15, 26, 27, 30, 40, 45, 48, 49], "download_pdb_ligand": 14, "chain_id": [14, 26, 27, 30, 39, 40, 41, 45, 48, 49], "expo_id": [14, 26, 30, 45, 48, 49], "co": [14, 24, 26, 27, 48, 49, 51, 52, 54, 55], "crystal": [14, 24, 26, 27, 48, 49], "connect": [14, 29, 40, 51, 52, 54, 55], "proton": [14, 26, 30, 41, 48, 49], "adjust": [14, 51, 52, 54, 55], "accordingli": [14, 35, 37], "small": [14, 41, 48, 49, 50, 53], "process": [14, 26, 27, 30, 48, 49, 51, 52, 53, 54, 55], "download_fasta_fil": 15, "fasta": 15, "entri": [15, 26, 27, 48, 49, 50, 51, 52, 54, 55], "activ": [16, 35, 37, 50, 53], "chembldatasetprovid": [16, 21, 50, 51, 52, 53, 54, 55], "core": [16, 19, 20, 21, 26, 28, 29, 30, 31, 39, 45, 48, 49, 51, 52, 53, 54, 55], "multidatasetprovid": [16, 17], "reli": [16, 27], "heavili": 16, "openkinom": [16, 37, 47, 50, 53], "kinodata": [16, 50, 53], "ingest": [16, 53], "load": [16, 20, 21, 22, 39, 42, 53], "its": [16, 17, 26, 27, 40, 45, 47, 49], "page": 16, "from_sourc": [16, 17, 20, 50, 51, 52, 53, 54, 55], "path_or_url": [16, 17, 20, 51, 52, 53, 54, 55], "http": [16, 21, 27, 29, 33, 36, 37, 39, 40, 50, 51, 52, 53, 54, 55], "github": [16, 37, 47, 50, 51, 52, 53, 54, 55], "com": [16, 27, 33, 36, 37, 40, 50, 53], "datascript": [16, 53], "v0": [16, 53], "chembl28_v0": 16, "zip": [16, 51, 52, 53, 54, 55], "pki": [16, 50, 53, 54, 55], "pkd": [16, 50, 53, 54, 55], "protein_typ": [16, 20, 53], "raw": [16, 17, 20, 50], "url": [16, 17, 45, 50], "csv": [16, 17, 20, 50, 51, 52, 54, 55], "schema": 16, "By": [16, 27], "three": [16, 21, 22, 40], "choos": [16, 48, 49], "subset": [16, 21, 40, 51, 52, 54, 55], "restrict": 16, "larger": [16, 48, 49], "zero": [16, 53], "n": [16, 17, 26, 29, 30, 40, 45, 48, 49, 50, 51, 52, 54, 55], "allowed_protein_typ": 16, "aggreg": [16, 51, 52, 54, 55], "lot": 16, "guarante": [16, 45, 47], "across": [16, 17, 51, 52, 54, 55], "basedatasetprovid": 17, "api": [17, 21, 27, 38, 47, 50, 53], "pars": [17, 53], "measurements_as_arrai": 17, "reduc": 17, "measurements_by_group": 17, "basefeatur": [17, 27], "featurized_system": 17, "to_datafram": [17, 51, 52, 54, 55], "to_pytorch": 17, "to_tensorflow": 17, "to_numpi": [17, 50], "hold": [17, 23, 26, 27, 30, 39, 40], "extra": [17, 27, 51, 52, 54, 55], "instead": [17, 21, 27, 49, 50, 53], "_raw_data": 17, "__len__": [17, 21, 22], "__getitem__": [17, 21, 22], "subscript": 17, "respons": 17, "relev": [17, 40, 50, 53], "__init__": [17, 37], "your": [17, 27, 30, 35, 37, 47, 48, 49, 51, 52, 53, 54, 55], "them": [17, 27, 37, 50], "present": [17, 21, 26, 27, 29, 30, 36, 40, 48, 49], "scheme": [17, 27], "stack": [17, 27], "wai": [17, 37], "Will": [17, 24, 27], "properli": [17, 35, 37, 39], "dask": [17, 27, 51, 52, 54, 55], "_post_featur": [17, 26, 27], "remov": [17, 26, 27, 30, 39, 40, 48, 49, 51, 52, 53, 54, 55], "successfulli": [17, 26, 53], "clear_aft": 17, "_to_dataset": 17, "further": [17, 53], "lossi": 17, "becaus": [17, 21, 26, 51, 52, 54, 55], "longer": 17, "oper": 17, "splitter": 17, "timesplitt": 17, "split_indic": 17, "to_dataset": 17, "hood": 17, "x_train": [17, 50], "x_test": [17, 50], "y_train": [17, 50], "y_test": [17, 50], "train_test_split": [17, 50, 51, 52, 54, 55], "export": [17, 21], "compat": [17, 27, 36], "torch_dataset": [17, 19, 31, 51, 52, 54, 55], "to_xgboost": 17, "nativ": [17, 21, 22], "featurization_kei": 17, "y_dtype": 17, "float32": [17, 53], "coerc": 17, "dtype": 17, "assum": [17, 21, 22, 27, 45, 51, 52, 54, 55], "homogen": [17, 21], "throughout": 17, "to_dict_of_arrai": [17, 21], "_initial_system_index": 17, "dictofarrai": 17, "npz": [17, 21, 51, 52, 54, 55], "idea": 17, "uniqu": 17, "syntax": [17, 21], "x_": [17, 21], "_v": 17, "dimension": [17, 51, 52, 54, 55], "cannot": [17, 21, 26], "concaten": [17, 27, 37], "hashabl": [17, 27], "kind": [17, 45, 51, 52, 54, 55], "start": [17, 39, 40], "count": [17, 30], "map": [17, 18, 27, 29], "x_s0_": 17, "x_s1_": 17, "x_sn_": 17, "irrelev": 17, "x_s0_a0_": 17, "x_s0_a1_": 17, "x_s1_a0_": 17, "x_s1_a1_": 17, "x_sn_am_": 17, "trail": 17, "underscor": [17, 21], "otherwis": [17, 18, 27, 48, 49, 51, 52, 54, 55], "filter": [17, 26, 27, 39, 40, 47, 48, 49, 50], "deceivingli": 17, "slow": [17, 21], "s1": [17, 51, 52, 54, 55], "startswith": [17, 51, 52, 54, 55], "x_s1": 17, "select": [17, 26, 39, 40, 48, 49, 50], "x_s10": 17, "x_s11": 17, "to_awkward": [17, 51, 52, 54, 55], "awkward": [17, 21, 22, 51, 52, 54, 55], "librari": [17, 31, 38, 41, 45, 47], "nest": [17, 37, 51, 52, 54, 55], "size": [17, 21, 27, 29, 35, 37, 45, 50, 51, 52, 54, 55], "arbitrari": [17, 27], "length": [17, 27, 29, 37, 39, 45], "record": [17, 21, 22], "mix": [17, 51, 52, 54, 55], "miss": [17, 26, 27, 30, 40, 45, 48, 49, 51, 54, 55], "idiom": 17, "dynam": [17, 51, 52, 54, 55], "compil": [17, 34, 51, 52, 54, 55], "fast": 17, "Their": 17, "behavior": [17, 39, 40], "coincid": 17, "dimens": [17, 21, 27, 35, 37, 51, 52, 54, 55], "regular": [17, 33, 37], "draft": 17, "individu": [17, 27], "contribut": [17, 20], "plu": [17, 53], "wrap": [17, 27], "split_by_group": [17, 51, 52, 54, 55], "ha": [17, 18, 21, 33, 37, 48, 49, 50, 51, 52, 53, 54, 55], "sub": [17, 21, 45], "_download_to_cache_or_retriev": 17, "helper": [17, 21, 22], "either": [17, 27], "usercach": 17, "cach": [17, 24, 48, 49, 51, 52, 54, 55], "copi": [17, 40, 51, 52, 54, 55], "right": 17, "awai": 17, "abl": [17, 18, 21, 33, 40, 51, 52, 54, 55], "expos": [17, 21, 38], "interfac": 17, "rest": 17, "around": [17, 27], "similar": [17, 26, 27, 39, 40, 42, 48, 49, 53], "origin": [17, 26], "plural": 17, "unlik": 17, "togeth": 17, "flatten": [17, 27, 51, 52, 54, 55], "indices_by_provid": 17, "slice": 17, "correl": 17, "hypothet": 17, "25": [17, 48, 49, 51, 52, 53, 54, 55], "b": [17, 21, 27, 29, 33, 48, 49], "would": [17, 35, 37, 50], "75": [17, 52], "easier": 17, "visual": 17, "docstr": 17, "ndarrai": [17, 21, 27, 29], "accumul": 17, "along": [17, 27], "axi": [17, 27], "after": [17, 21, 26, 27, 36, 37, 40, 53], "anoth": [17, 51, 52, 53, 54, 55], "strategi": 18, "basegroup": 18, "assign": [18, 23, 26, 37, 40, 48, 51, 52, 54, 55], "unless": [18, 26, 30, 39, 40, 48, 49], "input": [18, 21, 24, 26, 27, 34, 35, 37, 40, 41, 48, 51, 52, 53, 54, 55], "randomgroup": [18, 51, 52, 54, 55], "ratio": 18, "sum": [18, 51, 52, 54, 55], "enumer": [18, 27, 40, 53], "callablegroup": [18, 51, 52, 54, 55], "grouper": [18, 45, 51, 52, 54, 55], "user": [18, 47, 48, 49, 50, 51, 52, 54, 55], "take": [18, 21, 27, 34, 35, 37, 51, 52, 54, 55], "progress": [18, 47, 51, 52, 54, 55], "basefilt": 18, "chembl": [19, 31, 50, 51, 52, 53, 54, 55], "pkis2": [19, 31, 50, 53], "torch_geometric_dataset": [19, 31], "pkis2datasetprovid": [20, 53], "_progress": 20, "toward": 20, "public": [20, 53], "chemogenom": 20, "doi": [20, 29, 53], "1371": [20, 53], "journal": [20, 53], "pone": [20, 53], "0181585": [20, 53], "datapath": [20, 45], "s004": 20, "path_or_url_construct": 20, "discoverx_489_kinase_assay_construct_inform": 20, "construct": 20, "protein_type_class": 20, "ecosystem": [21, 22, 47, 51, 52, 54, 55], "prefeaturizedtorchdataset": 21, "_null_observation_model": [21, 33], "torch": [21, 22, 33, 35, 36, 37, 45, 51, 52, 54, 55], "util": [21, 22, 31, 33, 36, 41, 51, 52, 53, 54, 55], "expect": [21, 27, 34, 51, 52, 54, 55], "dataload": [21, 33, 36], "vector": [21, 29, 35, 37, 50, 51, 52, 54, 55], "combin": [21, 53], "mathemat": 21, "as_dataload": 21, "view": 21, "estimate_input_s": 21, "estim": [21, 27, 35, 37], "torchdataset": 21, "non": [21, 24, 26, 39, 40], "fly": 21, "upon": 21, "dure": [21, 26, 27, 30, 40, 41, 42, 48, 49, 51, 52, 53, 54, 55], "train": [21, 33, 36, 37, 47], "memoiz": 21, "xytorchdataset": 21, "simpl": [21, 50], "adaptor": 21, "arraylik": [21, 27], "selector": 21, "test": [21, 27, 29, 33, 40, 53], "val": [21, 33, 39], "from_npz": 21, "disk": 21, "idx_train": [21, 51, 52, 54, 55], "idx_test": [21, 51, 52, 54, 55], "idx_val": [21, 51, 52, 54, 55], "input_s": 21, "multixtorchdataset": 21, "dict_of_arrai": 21, "compliant": 21, "thing": 21, "character": 21, "preload": 21, "data_x": 21, "_a": 21, "matter": 21, "better": 21, "pair": 21, "output": [21, 24, 26, 27, 28, 30, 39, 41, 45, 48, 49, 50, 51, 52, 54, 55], "close_filehandl": 21, "veri": 21, "larg": 21, "amount": [21, 48, 49], "let": [21, 50, 51, 52, 54, 55], "demand": 21, "everyth": [21, 26, 30, 48, 49], "memori": [21, 51, 52, 54, 55], "close": 21, "filehandl": 21, "enabl": [21, 48, 49, 51, 52, 54, 55], "parallel": [21, 27], "without": [21, 26, 39, 40, 47, 53], "suffer": 21, "overhead": 21, "open": [21, 42, 51, 52, 54, 55], "again": [21, 53], "crc32": 21, "want": [21, 47, 50, 51, 52, 54, 55], "num_work": 21, "ram": 21, "incur": 21, "wait": [21, 47], "time": [21, 35, 37, 47, 48, 49, 51, 52, 53, 54, 55], "penalti": [21, 42], "reload": 21, "_getitem_multi_x": 21, "accessor": 21, "scale": 21, "poorli": 21, "end": [21, 40, 47, 51, 52, 54, 55], "bottleneck": 21, "most": [21, 26, 35, 37, 51, 52, 54, 55], "spent": 21, "timeit": [21, 48, 49], "91": [21, 49], "222": 21, "\u00b5": 21, "std": [21, 48, 49, 51, 52, 54, 55], "dev": [21, 48, 49], "run": [21, 24, 26, 27, 36, 41, 45, 48, 49, 50], "59": [21, 51, 52, 54, 55], "253": 21, "11": [21, 26, 42, 48, 49, 50, 51, 52, 53, 54, 55], "02": [21, 48, 51, 52, 54, 55], "16": [21, 26, 37, 40, 48, 49, 51, 52, 53, 54, 55], "22": [21, 48, 49, 51, 52, 53, 54, 55], "27": [21, 48, 49, 51, 52, 53, 54, 55], "32": [21, 48, 49, 51, 52, 54, 55], "44": [21, 48, 51, 52, 54, 55], "47": [21, 48, 51, 52, 54, 55], "64": [21, 51, 52, 54, 55], "87": [21, 26], "74": [21, 51, 52, 54, 55], "128": 21, "171": [21, 48, 49], "68": [21, 51, 52, 54, 55], "_getitem_single_x": 21, "_shape_x": 21, "is_single_x": 21, "_str_keys_to_nested_dict": 21, "_key_to_int": 21, "charact": [21, 27, 29, 37, 39, 40], "awkwardarraydataset": [21, 51, 52, 54, 55], "x1": 21, "x2": 21, "xn": 21, "howev": [21, 40, 48, 49, 50, 53], "sinc": [21, 27, 37, 40, 48, 49, 50, 53], "field": [21, 22, 27, 41, 51, 52, 54, 55], "what": 21, "consolid": 21, "whenev": 21, "sure": [21, 51, 52, 54, 55], "suitabl": [21, 22, 26, 48, 49], "collate_fn": [21, 51, 52, 54, 55], "info": [21, 45, 51, 52, 54, 55], "org": [21, 29, 39, 51, 52, 53, 54, 55], "doc": [21, 39, 40, 48, 49, 51, 52, 54, 55], "stabl": [21, 51, 52, 54, 55], "html": [21, 39, 40, 51, 52, 54, 55], "collat": [21, 51, 52, 54, 55], "fn": [21, 51, 52, 54, 55], "With": 21, "faster": [21, 51, 52, 53, 54, 55], "awk": [21, 51, 52, 54, 55], "from_parquet": [21, 22, 51, 52, 54, 55], "same_shap": 21, "parquet": [21, 51, 52, 54, 55], "38": [21, 48, 49, 51, 52, 53, 54, 55], "286": 21, "different_shap": 21, "9": [21, 26, 48, 49, 50, 51, 52, 53, 54, 55], "252": 21, "probabl": [21, 26, 48, 50], "due": [21, 51, 52, 54, 55], "convers": [21, 53], "happen": [21, 51, 52, 54, 55], "__str__": [21, 22], "_accessor_to_indic": 21, "full_siz": 21, "awkwardarraygeometricdataset": 22, "geometr": [22, 35], "conn": 22, "matrix": [22, 27, 29, 42, 51, 52, 54, 55], "edge_index": 22, "node": [22, 29, 35, 51, 52, 54, 55], "logic": 22, "__iter__": [22, 33], "resids_to_box_molecul": 23, "oemolbas": [23, 27, 40], "resid": [23, 40], "box": 23, "span": 23, "box_molecul": 23, "rectangular": 23, "region": 23, "pose_molecul": 23, "design_unit": [23, 27, 40], "oedesignunit": [23, 27, 40], "pka_norm": [23, 26, 40, 48], "score_pos": 23, "pose": [23, 24, 26, 49], "prepar": [23, 26, 27, 30, 40, 41, 48, 49], "receptor": [23, 48], "design": [23, 26, 27, 30, 40, 47, 51, 52, 53, 54, 55], "predomin": [23, 26, 40, 48], "ioniz": [23, 26, 40, 48], "score": [23, 26, 40, 42, 48, 49, 51, 52, 54, 55], "best": [23, 40, 41], "proper": 23, "sd": 23, "posed_molecul": 23, "run_dock": 23, "dock_method": 23, "num_pos": 23, "constant": [23, 27, 51, 52, 54, 55], "docked_molecul": 23, "hybrid_dock": 23, "hybrid": [23, 26, 29], "fred_dock": 23, "run_glid": 24, "schrodinger_directori": [24, 41], "input_file_ma": 24, "output_file_sdf": 24, "mols_smil": 24, "ligand_resnam": 24, "n_pose": 24, "mols_nam": 24, "shape_restrain": [24, 26, 49], "macrocyl": 24, "precis": 24, "xp": 24, "cache_dir": [24, 26, 27, 30, 48, 49], "glide": [24, 26], "schroding": [24, 26, 41, 48], "instal": [24, 41, 49, 51, 54, 55], "resnam": [24, 26], "definit": [24, 48, 49, 51, 52, 54, 55], "titl": [24, 26, 48, 49], "len": [24, 27, 33, 45, 51, 52, 53, 54, 55], "restrain": [24, 26], "macrocycl": [24, 26, 40, 49], "conform": [24, 26, 40, 41, 48, 49], "algorithm": [24, 26, 48], "detect": [24, 26, 48, 49, 53], "skip": 24, "htv": 24, "sp": 24, "appdir": [24, 26, 27, 30, 45, 48, 49, 51, 52, 54, 55], "grid": [24, 40], "oedock": [25, 31], "schrodingerdock": [25, 31], "thereof": [26, 30, 48, 49], "singleligandproteincomplexfeatur": 26, "parallelbasefeatur": [26, 27, 29, 30], "minim": [26, 29, 30, 41, 48, 49], "_support": [26, 27, 29, 30], "_compatible_protein_typ": [26, 30], "_compatible_ligand_typ": [26, 29], "exactli": [26, 29, 30, 48, 49], "mostsimilarpdbligandfeatur": 26, "similarity_metr": [26, 48, 49], "fingerprint": [26, 29, 37, 51, 52, 53, 54, 55], "find": [26, 48, 49], "give": [26, 30, 40, 48, 49], "mc": [26, 48, 49], "openeye_shap": [26, 48, 49], "schrodinger_shap": [26, 48, 49], "intermedi": [26, 27, 30, 48, 49], "locat": [26, 27, 30, 39, 40, 48, 49, 51, 52, 54, 55], "use_multiprocess": [26, 27, 30, 48, 49], "multiprocess": [26, 27, 30, 48, 49], "n_process": [26, 27, 30, 48, 49], "mani": [26, 27, 30, 40, 48, 49, 53], "cpu": [26, 27, 30, 48, 49, 51, 52, 54, 55], "fit": [26, 33, 40, 48, 49, 50], "subsequ": [26, 48, 49], "oedockingfeatur": [26, 49], "schrodingerdockingfeatur": [26, 48], "_supported_typ": [26, 27], "_supported_similarity_metr": 26, "_pre_featur": [26, 27], "_check_schroding": 26, "_featurize_on": [26, 27, 29, 30], "keep": [26, 27, 51, 52, 54, 55], "replac": [26, 27, 29, 51, 52, 54, 55], "log": [26, 27, 45, 48, 49], "_featur": [26, 27], "own": [26, 27, 51, 52, 53, 54, 55], "extend": [26, 27, 42, 45], "_get_pdb_ligand_ent": 26, "rai": 26, "lowest": 26, "resolut": [26, 48], "column": [26, 51, 52, 54, 55], "ligand_ent": 26, "non_polymer_id": 26, "_add_ligand_entity_info": 26, "pdb_ligand_ent": 26, "expo": [26, 27], "4yne_3": 26, "third": 26, "_add_pdb_resolut": 26, "dummi": 26, "99": 26, "_get_most_similar_pdb_ligand_ent": 26, "_by_fingerprint": 26, "max_similarity_cutoff": 26, "morgan": [26, 29], "cutoff": [26, 39, 40], "highest": [26, 40], "77": [26, 51, 52, 54, 55], "higher": 26, "_by_mc": 26, "max_bonds_cutoff": 26, "bond": [26, 29, 39, 40, 48, 51, 52, 54, 55], "maximum": [26, 29, 51, 52, 54, 55], "substructur": 26, "35": [26, 48, 49, 51, 52, 54, 55], "20": [26, 37, 48, 49, 51, 52, 53, 54, 55], "_by_schrodinger_shap": 26, "shape_screen": [26, 41], "_by_openeye_shap": 26, "tanimotocombo": [26, 40], "31": [26, 48, 49, 51, 52, 54, 55], "klifsconformationtemplatesfeatur": 26, "templat": [26, 27, 37, 40, 48, 49, 51, 52, 54, 55], "inhibitor": [26, 48, 49, 53], "_create_klifs_structure_db": 26, "dfg": [26, 48, 49], "ac_helix": [26, 48, 49], "ligand_similar": [26, 48, 49], "sequence_similar": [26, 42], "_filter_structur": 26, "presenc": 26, "orthoster": 26, "duplic": [26, 50], "qualityscor": 26, "alternate_model": 26, "_get_most_similar_klifs_ligand_ent": 26, "klifs_sequ": 26, "_by_klifs_sequ": 26, "klifs_structur": 26, "reference_klifs_sequ": 26, "align": [26, 31, 39, 40, 41, 43], "refer": [26, 36, 40], "itself": [26, 45], "450": 26, "320": 26, "275": 26, "redefin": [26, 27], "filtered_system": [26, 27], "oecomplexfeatur": 26, "oebasemodelingfeatur": [26, 27, 30], "oespruc": [26, 27, 30, 40, 48], "header": [26, 27, 30, 39, 40, 48, 49], "custom": [26, 30, 40, 48, 49, 53], "termini": [26, 30, 40, 41, 48, 49], "side": [26, 30, 40, 48, 49], "could": [26, 30, 40, 48, 49, 51, 52, 53, 54, 55], "mismatch": [26, 30, 48], "water": [26, 27, 30, 39, 40, 48, 49], "alternate_loc": [26, 27, 30, 40, 48, 49], "altern": [26, 27, 30, 39, 40, 48, 49], "especi": [26, 30, 39, 40, 48, 49], "supersed": [26, 30, 48, 49], "loop_db": [26, 27, 30, 40, 48], "output_dir": [26, 27, 30, 48, 49], "coval": [26, 48], "broken": [26, 48], "mai": [26, 40, 48, 49, 53], "lead": [26, 39, 40, 48, 53], "radic": [26, 29, 48], "dock": [26, 31, 40, 48, 49], "pocket_resid": [26, 48], "integ": [26, 29, 48], "fred": 26, "apo": [26, 48], "conserv": [26, 48], "_store_docking_scor": 26, "docking_pos": 26, "_topologi": [26, 48, 49], "well": [26, 39, 40], "lost": 26, "pickl": 26, "schrodingercomplexfeatur": 26, "max_retri": [26, 49], "build_loop": [26, 41, 49], "prime": [26, 49], "intend": [26, 40, 49], "remain": [26, 49], "maxim": [26, 40, 49], "attempt": [26, 49], "prepwizard": [26, 41, 49], "built": [26, 27, 33, 40, 41, 48, 49, 51, 52, 54, 55], "_system_to_nam": 26, "descript": 26, "_prepare_structur": 26, "_read_protein_structur": [26, 27], "wrong": [26, 27, 40], "_preprocess_structur": 26, "pdb_path": [26, 39], "pre": 26, "express": [26, 27, 39, 40, 51, 54, 55], "renumb": [26, 39, 40], "_postprocess_structur": 26, "prepared_structur": 26, "updat": [26, 27, 39, 40, 48, 49, 50, 51, 52, 54, 55], "atom": [26, 27, 29, 39, 40, 48, 49, 51, 52, 54, 55], "site": [26, 30, 48, 49, 51, 52, 53, 54, 55], "fail": [26, 27, 40, 48, 49, 53], "schrdoding": [26, 49], "_dock_molecul": 26, "prepared_structure_path": 26, "system_nam": 26, "readi": 26, "_replace_ligand": 26, "docking_pose_sdf_path": 26, "docking_pose_path": 26, "_write_complex_ma": 26, "complex_path_ma": 26, "write": [26, 27, 39, 40, 53], "lig": 26, "correct": [26, 47], "produc": [27, 45], "Then": 27, "handl": 27, "actual": [27, 51, 52, 53, 54, 55], "leg": 27, "__call__": [27, 33, 36], "befor": [27, 37, 51, 52, 54, 55], "serial": 27, "fashion": 27, "raise_error": 27, "chunksiz": 27, "dask_client": 27, "stackoverflow": 27, "54032744": 27, "3407590": 27, "distribut": [27, 51, 52, 54, 55], "client": [27, 51, 52, 54, 55], "manag": 27, "ignor": 27, "__getstate__": 27, "preserv": 27, "serializ": [27, 51, 52, 54, 55], "__setstate__": 27, "shortnam": 27, "while": 27, "special": 27, "inde": 27, "slightli": 27, "act": 27, "wrapper": 27, "xy": 27, "callablefeatur": 27, "lambda": [27, 51, 52, 54, 55], "On": [27, 51, 52, 54, 55], "mayb": [27, 53], "tupleofarrai": [27, 51, 52, 54, 55], "flat": [27, 53], "n_system": [27, 37], "m_returned_object": 27, "baseonehotencodingfeatur": [27, 29, 30], "concern": [27, 29, 30], "hot": [27, 29, 30], "encod": [27, 29, 30, 50, 51, 52, 54, 55], "_retrieve_sequ": [27, 29, 30], "one_hot_encod": 27, "sequuenc": 27, "padfeatur": [27, 52, 55], "auto": [27, 51, 52, 54, 55], "pad_with": 27, "pad": [27, 45], "desir": [27, 29], "mode": [27, 37], "runtim": [27, 45], "largest": 27, "fill": [27, 45], "_get_arrai": 27, "system_or_arrai": 27, "comput": [27, 29, 33, 47, 48, 49, 51, 52, 53, 54, 55], "hashfeatur": 27, "whatev": [27, 45], "_getter": 27, "chosen": 27, "sha256": [27, 45], "nullfeatur": 27, "func": 27, "eval": [27, 51, 52, 54, 55], "_default_func": 27, "unus": [27, 29], "clearfeatur": 27, "bypass": 27, "autom": 27, "_get_design_unit": 27, "has_ligand": [27, 40], "ligand_nam": [27, 40], "model_loops_and_cap": 27, "complex": [27, 28, 31, 40, 48, 49], "cap": [27, 40, 41, 51, 52, 54, 55], "_get_compon": 27, "solvent": [27, 48], "_process_protein": 27, "protein_structur": 27, "amino_acid_sequ": 27, "first_id": 27, "heavi": [27, 39, 40, 47], "clash": [27, 40, 48], "_get_protein_residue_numb": 27, "domain": 27, "residue_numb": 27, "order": [27, 40, 51, 52, 54, 55], "_assemble_compon": 27, "assembl": 27, "solvat": 27, "assembled_compon": 27, "_remove_clashing_wat": 27, "newli": 27, "_update_pdb_head": 27, "protein_nam": 27, "other_pdb_header_info": 27, "compnd": 27, "section": [27, 39, 40, 47, 53], "_write_result": 27, "orient": [28, 51, 52, 54, 55], "underneath": 28, "mostli": [29, 30], "singleligandfeatur": 29, "morganfingerprintfeatur": [29, 50, 51, 53, 54], "radiu": [29, 39, 51, 54], "nbit": [29, 51, 54], "rdkit": [29, 51, 52, 53, 54, 55], "bitvector": 29, "neighborhood": 29, "bit": [29, 50, 51, 52, 54, 55], "onehotsmilesfeatur": [29, 52, 55], "smiles_typ": 29, "canon": 29, "bcfhiknopsuvwyacegilnosru": 29, "1234567890": 29, "lr": [29, 51, 52, 54, 55], "postprocess": 29, "doubl": 29, "symbol": 29, "br": [29, 51, 52, 54, 55], "chiral": [29, 51, 52, 54, 55], "r": [29, 48, 49, 51, 52, 54, 55], "graphligandfeatur": 29, "max_in_ring_s": 29, "graph": [29, 35, 51, 52, 54, 55], "descriptor": 29, "_per_atom_featur": 29, "ring": 29, "belong": [29, 50], "all_atomic_symbol": 29, "o": [29, 48, 49, 51, 52, 54, 55], "si": 29, "mg": 29, "na": 29, "ca": [29, 40, 51, 52, 54, 55], "fe": 29, "As": [29, 37, 50], "al": 29, "n_edg": 29, "n_atom": 29, "n_featur": [29, 37], "chem": [29, 53], "atomic_symbol": 29, "formal_charg": 29, "formal": 29, "charg": [29, 48], "hybridization_typ": 29, "rdchem": [29, 53], "hybridizationtyp": 29, "aromat": [29, 51, 52, 54, 55], "degre": 29, "total_h": 29, "total": [29, 51, 52, 54, 55], "hydrogen": [29, 40], "implicit": 29, "explicit": [29, 40, 48, 49], "implicit_h": 29, "radical_electron": 29, "electron": [29, 40], "potentialnet": 29, "1021": 29, "acscentsci": 29, "8b00507": 29, "_connectivity_coo_format": 29, "mol": [29, 53], "coo": 29, "num_edg": 29, "singleproteinfeatur": 30, "aminoacidcompositionfeatur": [30, 51], "composit": [30, 37, 51], "_counter": 30, "onehotencodedsequencefeatur": [30, 52, 53], "sequence_typ": [30, 53], "full": [30, 45, 51, 52, 54, 55], "oeproteinstructurefeatur": 30, "focu": [31, 50, 51, 52, 53, 54, 55], "analysi": [31, 51, 52, 54, 55], "lightning_modul": [31, 32], "tensorflow_model": [31, 32], "torch_geometric_model": [31, 32], "torch_loop": [31, 32, 51, 52, 54, 55], "torch_model": [31, 32, 35, 51, 52, 54, 55], "torch_tre": [31, 32], "mdanalysismodel": [31, 43], "schrodingermodel": [31, 43], "optim": [31, 33, 36, 39, 40, 51, 52, 54, 55], "workflow": [31, 50, 51, 52, 54, 55], "_version": 31, "__version__": 31, "__git_revision__": 31, "lightn": [33, 51, 52, 54, 55], "wip": [33, 36], "rootmeansquarederror": 33, "pytorch_lightn": 33, "meansquarederror": 33, "observationmodelmodul": 33, "nn_model": [33, 51, 52, 54, 55], "loss_funct": [33, 36, 51, 52, 54, 55], "lightningmodul": 33, "_standard_step": 33, "batch": 33, "batch_idx": 33, "training_step": 33, "_common_validation_test_step": 33, "dataloader_idx": 33, "metric_prefix": 33, "_common_validation_test_epoch_end": 33, "output_result": 33, "_disabled_validation_step": 33, "_disabled_validation_epoch_end": 33, "test_step": 33, "test_epoch_end": 33, "configure_optim": 33, "multidatamodul": 33, "lightningdatamodul": 33, "active_dataset": 33, "active_dataset_index": 33, "dataset_indices_by_s": 33, "revers": [33, 51, 52, 54, 55], "_build_dataload": 33, "dataset_index": 33, "train_dataload": 33, "val_dataload": 33, "test_dataload": 33, "get_kfold": 33, "nfold": 33, "with_valid": 33, "shuffl": [33, 51, 52, 54, 55], "crossvalidatetrain": 33, "datamodul": 33, "_patch_paths_for_kfold": 33, "fold_train": 33, "fold": 33, "best_run": 33, "clear": [33, 51, 52, 54, 55], "observationmodeldataload": 33, "_iterwithobsmodel": 33, "__getattr__": 33, "__next__": 33, "attrlist": 33, "problem": [33, 48, 53], "hei": 33, "attributeerror": [33, 51, 52, 54, 55], "solut": 33, "activest": 33, "recip": 33, "579103": 33, "python": [33, 40, 45, 51, 52, 54, 55], "addset": 33, "kfold3wai": 33, "n_split": 33, "random_st": 33, "sklearn": [33, 38, 50, 51, 52, 54, 55], "model_select": [33, 50], "kfold": 33, "tensorflow": 34, "dnn": 34, "input_dim": 34, "tf": 34, "deep": [34, 35], "neural": [34, 35, 37], "network": [34, 35, 37], "kera": 34, "cnn": 34, "input_shap": [34, 35, 37, 51, 52, 54, 55], "convolut": [34, 35, 37], "param": 34, "mpnn": 34, "messag": [34, 48, 49, 51, 52, 54, 55], "graphconvolutionneuralnetwork": 35, "embedding_shap": [35, 37], "hidden_shap": [35, 37, 51, 52, 54, 55], "output_shap": [35, 37], "relu": [35, 37], "_basemodul": [35, 37], "feed": [35, 37], "latent": 35, "hidden": [35, 37], "delta_g_over_kt": [35, 37], "_activ": [35, 37], "layer": [35, 37], "needs_input_shap": [35, 37, 51, 52, 54, 55], "estimate_input_shap": [35, 37, 51, 52, 54, 55], "input_sampl": [35, 37], "incom": [35, 37], "second": [35, 37, 40, 42, 51, 52, 54, 55], "someth": [35, 37, 45], "pleas": [35, 37, 47, 49, 51, 52, 54, 55], "multi_measurement_training_loop": 36, "epoch": [36, 51, 52, 54, 55], "delta_over_kt": 36, "nn": [36, 37, 51, 52, 54, 55], "engin": 36, "_loss": 36, "mseloss": [36, 51, 52, 54, 55], "loss_timeseri": 36, "cumul": [36, 51, 52, 54, 55], "earlystop": [36, 51, 52, 54, 55], "patienc": 36, "min_delta": 36, "earli": [36, 51, 52, 54, 55], "stop": [36, 51, 52, 54, 55], "improv": 36, "certain": [36, 53], "debuggercaf": 36, "rate": [36, 50], "schedul": [36, 51, 52, 54, 55], "val_loss": [36, 51, 52, 54, 55], "lrschedul": [36, 51, 52, 54, 55], "min_lr": 36, "factor": [36, 48], "decreas": 36, "_old_training_loop": 36, "deprec": [36, 49, 53], "submodul": 37, "def": [37, 51, 52, 54, 55], "super": 37, "conv1": 37, "conv2d": 37, "conv2": 37, "regist": 37, "too": 37, "made": 37, "child": 37, "boolean": 37, "evalu": [37, 47], "neuralnetworkregress": [37, 54], "vanilla": 37, "foward": 37, "1d": 37, "affin": [37, 48, 50, 51, 52, 53, 54, 55], "blob": 37, "master": [37, 50], "ipynb": 37, "listoftupleneuralnetworkregress": 37, "denseneuralnetworkregress": 37, "350": [37, 51, 52, 54, 55], "200": 37, "dropout_percentag": 37, "dens": 37, "drop": 37, "convolutionneuralnetworkregress": [37, 55], "300": 37, "kernel_shap": 37, "embed": 37, "kernel": 37, "2d": 37, "nb": 37, "convolutionneuralnetworkregressionproteininform": [37, 52], "neuralnetworkregressionproteininform": [37, 51], "embedding_shape_ligand": 37, "embedding_shape_protein": 37, "forest": 38, "decis": 38, "guess_bond": 39, "biopython": [39, 51, 52, 54, 55], "guess": [39, 48, 49], "van": 39, "der": 39, "waal": 39, "write_molecul": [39, 40], "delete_segid": 39, "written": [39, 50, 51, 52, 54, 55], "segid": 39, "documentation_pag": 39, "coordin": [39, 40], "select_chain": [39, 40], "select_altloc": [39, 40], "altloc_id": [39, 40], "altloc_fallback": [39, 40], "altloc": [39, 40, 45], "remove_non_protein": [39, 40], "only_standard_amino_acid": 39, "remove_wat": [39, 40], "kept": [39, 40], "retain": 39, "ala": [39, 48], "asn": 39, "asp": 39, "cy": 39, "gln": 39, "glu": 39, "gly": [39, 48], "hi": 39, "il": 39, "leu": 39, "ly": 39, "met": [39, 48], "phe": 39, "pro": [39, 51, 52, 54, 55], "sec": 39, "ser": 39, "thr": 39, "trp": 39, "tyr": 39, "delete_residu": [39, 40], "delete_incomplete_backbone_residu": 39, "incomplet": 39, "backbon": [39, 40], "less": [39, 40, 51, 52, 54, 55], "delete_expression_tag": 39, "seqadv": [39, 40], "get_sequ": [39, 40], "receiv": [39, 40], "get_structure_sequence_align": [39, 40], "prevent": [39, 40], "unexpect": [39, 40], "highli": [39, 40, 50], "few": [39, 40, 50], "structure_sequence_align": [39, 40], "gap": [39, 40, 42], "denot": [39, 40], "sequence_align": [39, 40], "delete_alter": 39, "delete_n_anchor": [39, 40], "short_protein_segments_cutoff": 39, "cover": [39, 51, 52, 54, 55], "anchor": [39, 40], "segment": [39, 40], "delete_short_protein_seg": [39, 40], "correctli": [39, 41], "possibli": [39, 40], "renumber_protein_residu": 39, "template_sequ": [39, 40], "update_residue_identifi": [39, 40], "keep_protein_residue_id": [39, 40], "keep_chain_id": [39, 40], "merg": [39, 40], "overlap": [39, 40], "separ": [39, 40], "read_smil": 40, "add_hydrogen": 40, "interpret": [40, 53], "read_electron_dens": 40, "oegrid": 40, "oeskewgrid": 40, "densiti": 40, "electron_dens": 40, "Not": 40, "mtz": 40, "occup": 40, "residue_nam": 40, "residue_id": 40, "get_expression_tag": 40, "clone": 40, "artifact": 40, "assign_cap": 40, "real_termini": 40, "union": 40, "real": [40, 51, 52, 54, 55], "protect": 40, "prepare_structur": 40, "cap_termini": [40, 41], "spruce": 40, "www": 40, "eyesopen": 40, "3tpp": 40, "sprucetk": 40, "examples_make_design_unit": 40, "ac": 40, "nme": 40, "qualiti": 40, "among": 40, "prepare_complex": 40, "protein_ligand_complex": 40, "prepare_protein": 40, "generate_tautom": 40, "oemcmolbas": 40, "max_gener": 40, "4096": 40, "max_return": 40, "reason": 40, "tautom": 40, "generate_enantiom": 40, "max_cent": 40, "12": [40, 48, 49, 50, 51, 52, 53, 54, 55], "force_flip": 40, "enumerate_nitrogen": 40, "enantiom": 40, "nitrogen": 40, "invert": 40, "pyramid": 40, "geometri": 40, "generate_conform": 40, "oeomega": 40, "oeomegaopt": 40, "oeomegasampling_class": 40, "chang": [40, 51, 52, 54, 55], "oemacrocycleomegaopt": 40, "generate_reasonable_conform": 40, "conformations_ensembl": 40, "overlay_molecul": 40, "reference_molecul": 40, "fit_molecul": 40, "overlai": 40, "enumerate_isomeric_smil": 40, "isomer": 40, "smiles_set": 40, "are_identical_molecul": 40, "molecule1": 40, "molecule2": 40, "perceiv": 40, "apply_delet": 40, "target_structur": 40, "potenti": 40, "compar": 40, "target": [40, 53], "apply_insert": 40, "affect": 40, "middl": 40, "begin": 40, "structure_with_delet": 40, "neg": 40, "structure_with_insert": 40, "apply_mut": 40, "fallback_delet": 40, "oeresidu": 40, "getnam": 40, "getresiduenumb": 40, "three_letter_cod": 40, "delete_partial_residu": 40, "sidechain": 40, "delete_clashing_sidechain": 40, "those": [40, 53], "ptm": 40, "go": [40, 50], "bigger": 40, "strong": [40, 50], "processed_structur": 40, "get_atom_coordin": 40, "renumber_structur": 40, "renumbered_structur": 40, "crop": 40, "superpose_protein": 40, "reference_protein": 40, "fit_protein": 40, "insertion_cod": 40, "superpos": 40, "onto": 40, "superposit": 40, "gly123": 40, "superposed_protein": 40, "split_molecule_compon": 40, "residue_ids_to_residue_nam": 40, "run_prepwizard": 41, "input_fil": 41, "output_fil": 41, "protein_ph": 41, "neutral": 41, "propka_ph": 41, "epik_ph": 41, "force_field": 41, "very_low": 41, "low": [41, 51, 52, 54, 55], "high": [41, 48, 51, 52, 54, 55], "propka": 41, "forc": 41, "2005": 41, "mae_to_pdb": 41, "mae_file_path": 41, "pdb_file_path": 41, "query_path": 41, "library_path": 41, "output_sdf_path": 41, "flexibl": 41, "thorough_sampl": 41, "keep_best_match_onli": 41, "tool": 41, "screen": 41, "thoroughli": 41, "sequence1": 42, "sequence2": 42, "open_gap_penalti": 42, "extend_gap_penalti": 42, "substitution_matrix": 42, "blosum62": 42, "squenc": 42, "bio": 42, "substitution_matric": 42, "miscellan": 45, "package_root": 45, "fromdistpatchermixin": 45, "_from_dispatch": 45, "handler_argnam": 45, "localfilestorag": 45, "rcsb_structure_pdb": 45, "rcsb_structure_cif": 45, "rcsb_ligand_sdf": 45, "rcsb_electron_density_mtz": 45, "klifs_ligand_mol2": 45, "structure_id": 45, "klifs_structure_db": 45, "klifs_kinase_db": 45, "featurizer_result": 45, "featurizer_nam": 45, "result_detail": 45, "file_format": 45, "pdb_smiles_json": 45, "filedownload": 45, "absolut": 45, "packag": [45, 50, 51, 52, 53, 54, 55], "fillvalu": 45, "consum": [45, 53], "until": 45, "defaultdictwitharg": 45, "defaultdict": [45, 51, 52, 54, 55], "__missing__": 45, "download_fil": 45, "seed_everyth": [45, 51, 52, 54, 55], "fix": [45, 51, 52, 54, 55], "watermark": [45, 51, 52, 54, 55], "environ": [45, 51, 52, 54, 55], "execut": [45, 51, 52, 54, 55], "nvidia": [45, 51, 52, 54, 55], "smi": [45, 51, 52, 54, 55], "conda": [45, 50, 51, 52, 54, 55], "jupyt": [45, 51, 52, 54, 55], "notebook": [45, 48, 49, 50, 51, 52, 54, 55], "collaps": 45, "ipython": [45, 51, 52, 54, 55], "widget": 45, "ipywidget": [45, 51, 52, 54, 55], "accordion": 45, "fill_until_next_multipl": 45, "multiple_of": 45, "reach": 45, "next": [45, 51, 52, 54, 55], "filler": 45, "import_object": [45, 51, 52, 54, 55], "import_path": 45, "measurementtyp": [45, 51, 52, 54, 55], "sha256_object": 45, "objects_to_hash": 45, "pickabl": 45, "modul": 47, "undergo": 47, "develop": [47, 51, 52, 54, 55], "encount": 47, "bug": 47, "offici": 47, "stai": 47, "encourag": [47, 50], "subscrib": 47, "watch": 47, "repositori": [47, 50], "aim": 47, "leverag": 47, "increasingli": 47, "bioactiv": 47, "scalabl": 47, "resourc": [47, 48, 49, 51, 52, 53, 54, 55], "centric": 47, "drug": [47, 53], "free": [47, 51, 52, 54, 55], "energi": 47, "main": [47, 51, 52, 54, 55], "effort": 47, "know": 47, "websit": 47, "introduc": [48, 49, 51, 52, 53, 54, 55], "expens": [48, 49, 53], "speed": [48, 49, 50], "kinoml": [48, 49, 51, 52, 54, 55], "former": [48, 49], "captur": [48, 49, 50, 51, 52, 53, 54, 55], "displai": [48, 49, 50, 51, 52, 53, 54, 55], "importlib": [48, 49, 51, 52, 54, 55], "inspect": [48, 49, 51, 52, 54, 55], "extens": [48, 49, 50, 51, 52, 54, 55], "explain": [48, 49, 50], "capabl": [48, 49, 53], "getdoc": [48, 49], "39": [48, 49, 50, 51, 52, 53, 54, 55], "recommend": [48, 49, 53], "explicitli": [48, 49], "unspecifc": [48, 49], "psaa": [48, 49], "append": [48, 49, 51, 52, 54, 55], "ae": [48, 49], "6": [48, 49, 50, 51, 52, 53, 54, 55], "4f8o_edit": 48, "structure_path": 48, "kinoml_tests_4f8o_spruc": 48, "lt": [48, 49, 50, 51, 52, 53, 54, 55], "gt": [48, 49, 50, 51, 52, 53, 54, 55], "failur": [48, 49], "basicconfig": [48, 49], "debug": [48, 49, 51, 52, 54, 55], "2381": 48, "oeb": 48, "glob": [48, 49, 51, 52, 54, 55], "kinoml_oeproteinstructurefeaturizer_psaa_4f8o_chaina_altlocb_protein": 48, "kinoml_oeproteinstructurefeaturizer_psaa_4f8o_edit_protein": 48, "kinoml_oeproteinstructurefeaturizer_psaa_4f8o_protein": 48, "13": [48, 49, 50, 51, 52, 53, 54, 55], "14": [48, 49, 50, 51, 52, 53, 54, 55], "aebsf": [48, 49], "17": [48, 49, 51, 52, 53, 54, 55], "18": [48, 49, 51, 52, 53, 54, 55], "kinoml_oecomplexfeaturizer_psaa_4f8o_aebsf_complex": 48, "kinoml_oecomplexfeaturizer_psaa_4f8o_aebsf_ligand": 48, "kinoml_oecomplexfeaturizer_psaa_4f8o_aebsf_protein": 48, "kinoml_oecomplexfeaturizer_psaa_4f8o_chaina_altlocb_aebsf_complex": 48, "kinoml_oecomplexfeaturizer_psaa_4f8o_chaina_altlocb_aebsf_ligand": 48, "kinoml_oecomplexfeaturizer_psaa_4f8o_chaina_altlocb_aebsf_protein": 48, "protocol": 48, "bias": [48, 51, 52, 54, 55], "bia": 48, "19": [48, 49, 51, 52, 53, 54, 55], "34": [48, 49, 51, 52, 54, 55], "21": [48, 49, 51, 52, 53, 54, 55], "ntrk1": [48, 49, 53], "4ek": [48, 49], "c1cc": [48, 49, 51, 52, 54, 55], "c1": [48, 49, 50, 51, 52, 54, 55], "c2": [48, 49, 51, 52, 54, 55], "nc3": [48, 49, 51, 52, 54, 55], "nn3c": [48, 49], "nc": [48, 49, 51, 52, 54, 55], "n4ccc": [48, 49, 51, 52, 54, 55], "c4": [48, 49, 51, 52, 54, 55], "c5": [48, 49, 51, 52, 54, 55], "cc": [48, 49, 51, 52, 53, 54, 55], "larotrectinib": [48, 49], "516": 48, "517": 48, "521": 48, "524": 48, "542": 48, "544": 48, "573": 48, "589": 48, "590": 48, "591": 48, "592": 48, "595": 48, "596": 48, "654": 48, "655": 48, "656": 48, "657": 48, "667": 48, "668": 48, "larotrectinib_2": 48, "23": [48, 49, 51, 52, 53, 54, 55], "24": [48, 49, 51, 52, 53, 54, 55], "warn": [48, 49, 50, 51, 52, 53, 54, 55], "dpi": 48, "rfree": 48, "bu": [48, 51, 52, 54, 55], "nerv": 48, "growth": 48, "alt": 48, "702": 48, "hoh": 48, "908": 48, "much": 48, "docking_scor": [48, 49], "801493": 48, "960361": 48, "26": [48, 49, 51, 52, 53, 54, 55], "28": [48, 49, 51, 52, 53, 54, 55], "29": [48, 49, 51, 52, 53, 54, 55], "30": [48, 49, 51, 52, 54, 55], "33": [48, 49, 51, 52, 54, 55], "besid": 48, "mdanaylsi": 48, "posit_prob": 48, "practic": [48, 49, 51, 52, 54, 55], "wich": [48, 49], "36": [48, 49, 51, 52, 54, 55], "37": [48, 49, 51, 52, 53, 54, 55], "51": [48, 51, 52, 54, 55], "40": [48, 49, 51, 52, 54, 55], "41": [48, 51, 52, 54, 55], "04": [48, 52], "42": [48, 51, 52, 54, 55], "43": [48, 51, 52, 54, 55], "4min": 48, "clearli": 48, "slowest": [48, 49], "accur": [48, 49], "join": [48, 49, 51, 52, 54, 55], "45": [48, 51, 52, 54, 55], "46": [48, 51, 52, 54, 55], "docking_pipelin": [48, 49], "fall": [47, 48, 49], "back": [48, 49], "oemmff94charg": 48, "bioassembli": 48, "biounit": 48, "alta": 48, "iridium": 48, "remark": 48, "48": [48, 51, 52, 54, 55], "4783": 48, "49": [48, 51, 52, 54, 55], "52": [48, 51, 52, 54, 55], "53": [48, 51, 52, 54, 55], "54": [48, 51, 52, 54, 55], "pocket_similar": [48, 49], "568047": [48, 49], "443": [48, 49], "6tfp": [48, 49], "n6z": [48, 49], "534031": [48, 49], "215": [48, 49], "4pmp": [48, 49], "31w": [48, 49], "482759": [48, 49], "6brj": [48, 49], "vx6": [48, 49], "521739": [48, 49], "279": [48, 49], "3aqv": [48, 49], "tak": [48, 49], "435754": [48, 49], "5jfv": [48, 49], "6k1": [48, 49], "491620": [48, 49], "422": [48, 49], "suit": 49, "simtk": [49, 53], "openmm": [49, 51, 52, 53, 54, 55], "2506": 49, "kinoml_schrodingercomplexfeaturizer_psaa_4f8o_aebsf_complex": 49, "kinoml_schrodingercomplexfeaturizer_psaa_4f8o_chaina_altlocb_aebsf_complex": 49, "moreov": 49, "docking_without_shape_restrain": 49, "scratch": 49, "lsftmp": 49, "6525607": 49, "tmpdir": 49, "tmpq7th966w": 49, "previou": 49, "job": 49, "jobid": 49, "lu04": 49, "6262a247": 49, "exitstatu": 49, "finish": 49, "lila": 49, "chodera": 49, "shallerd": 49, "kinoml_schrodingerdockingfeaturizer_ntrk1_4yne_larotrectinib_complex": 49, "1766": 49, "kinoml_schrodingerdockingfeaturizer_ntrk1_4yne_larotrectinib_ligand": 49, "docking_with_shape_restrain": 49, "tmp195pmphc": 49, "6262a33d": 49, "perl": [49, 51, 52, 54, 55], "languag": 49, "unset": 49, "lc_all": 49, "lc_numer": 49, "lc_time": 49, "lang": 49, "utf": 49, "6262a42c": 49, "4yp": 49, "4f6": 49, "tmp5xoq3zd9": 49, "6262a474": 49, "kinoml_schrodingerdockingfeaturizer_ntrk1_4yne_chaina_larotrectinib_complex": 49, "4964": 49, "onlin": 50, "hous": 50, "easili": 50, "classifi": 50, "svc": 50, "And": [50, 51, 52, 54, 55], "line": 50, "tutori": [47, 50], "affniti": 50, "brows": 50, "mamba": 50, "githubusercont": 50, "devtool": 50, "test_env": 50, "yaml": [50, 51, 52, 54, 55], "pip": [50, 51, 52, 54, 55], "tar": 50, "gz": 50, "easiest": 50, "incorpor": 50, "uniprotid": 50, "hide": [50, 51, 52, 53, 54, 55], "chembl_provid": 50, "p00533": [50, 51, 52, 54, 55], "1000": [50, 52, 55], "986": 50, "ideal": 50, "show": [47, 50, 51, 52, 54, 55], "quick": [50, 53], "leav": [50, 51, 52, 54, 55], "continu": [50, 51, 52, 54, 55], "13076828": 50, "occccnc1cncc": [50, 51, 52, 55], "c2cncc": [50, 51, 52, 55], "nc3cccc": [50, 51, 52, 54, 55], "c3": [50, 51, 52, 54, 55], "n2": [50, 51, 52, 54, 55], "typic": 50, "yet": [50, 53], "friendli": [47, 50], "over": 50, "commonli": 50, "easi": 50, "great": 50, "now": [50, 51, 52, 53, 54, 55], "matplotlib": [50, 51, 52, 54, 55], "pyplot": 50, "plt": 50, "svm": 50, "roc_curv": 50, "roc_auc_scor": 50, "1307683": 50, "binar": 50, "astyp": 50, "test_siz": 50, "roc": 50, "curv": 50, "auc": 50, "y_test_pr": 50, "svc_roc_auc": 50, "fpr": 50, "tpr": 50, "threshold": 50, "predict_proba": 50, "round": 50, "xlim": 50, "05": [50, 51, 52, 54], "ylim": 50, "linestyl": 50, "lw": 50, "color": 50, "black": [50, 51, 52, 54, 55], "xlabel": 50, "ylabel": 50, "tick_param": 50, "labels": 50, "legend": 50, "fontsiz": 50, "advanc": 50, "egfr": [51, 52, 54, 55], "divid": [47, 51, 52, 54, 55], "tensori": [51, 52, 54, 55], "achiev": [51, 52, 54, 55], "deal": [51, 52, 54, 55], "roughli": [51, 52, 54, 55], "margin": [51, 52, 54, 55], "action": [51, 52, 54, 55], "pubchem": [51, 52, 54, 55], "promot": [51, 52, 54, 55], "adjac": [51, 52, 54, 55], "date": [51, 52, 54, 55], "yyyi": [51, 52, 54, 55], "mm": [51, 52, 54, 55], "dd": [51, 52, 54, 55], "2023": [51, 52, 54, 55], "fuction": [51, 52, 54, 55], "ouput": [51, 52, 54, 55], "nbout": [51, 52, 54, 55], "resolv": [51, 52, 54, 55], "_dh": [51, 52, 54, 55], "repeat": [51, 52, 54, 55], "dataset_cl": [51, 52, 54, 55], "dataset_kwarg": [51, 52, 54, 55], "filtered_dataset_egfr": [51, 52, 54, 55], "3000": [51, 52, 54], "pick": [51, 52, 54, 55], "smaller": [51, 52, 53, 54, 55], "1024": 52, "pipelines_agg": [51, 52, 54, 55], "pipelines_agg_kwarg": [51, 52, 54, 55], "featurize_kwarg": [51, 52, 54, 55], "__name__": [51, 52, 54, 55], "train_test_val_kwarg": [51, 52, 54, 55], "anyth": [51, 52, 54, 55], "repo": [51, 52, 54, 55], "featurizer_path": [51, 52, 54, 55], "branch": [51, 52, 54, 55], "clsname": [51, 52, 54, 55], "rsplit": [51, 52, 54, 55], "k": [51, 52, 54, 55], "isalnum": [51, 52, 54, 55], "_output": [51, 52, 54, 55], "__": [51, 52, 54, 55], "mkdir": [51, 52, 54, 55], "exist_ok": [51, 52, 54, 55], "home": [51, 52, 53, 54, 55], "raquellrdc": [51, 52, 54, 55], "desktop": [51, 52, 54, 55], "postdoc": [51, 52, 54, 55], "kinoml_tech_paper_fin": [51, 52, 54, 55], "ligand__morganfingerprintfeaturizer_nbit": [51, 54], "1024_radiu": [51, 54], "2__kinase__aminoacidcompositionfeatur": 51, "nasti": [51, 52, 54, 55], "trick": [51, 52, 54, 55], "hyperparametr": [51, 52, 54, 55], "far": [51, 52, 54, 55], "later": [51, 52, 53, 54, 55], "_hparam": [51, 52, 54, 55], "oe_": [51, 52, 54, 55], "sy": [51, 52, 54, 55], "datetim": [51, 52, 54, 55], "ak": [51, 52, 54, 55], "57": [51, 52, 54, 55], "807233": 51, "u": [51, 52, 54, 55], "That": [51, 52, 54, 55], "json": [51, 52, 54, 55], "papermil": [51, 52, 54, 55], "help": [51, 52, 54, 55], "oe": [51, 52, 54, 55], "licens": [51, 52, 54, 55], "anaconda3": [51, 52, 54, 55], "kinoml_env": [51, 52, 54, 55], "lib": [51, 52, 53, 54, 55], "python3": [51, 52, 53, 54, 55], "userwarn": [51, 53, 54, 55], "newer": [51, 54, 55], "numexpr": [51, 52, 54, 55], "numexpr_instal": [51, 54, 55], "2826": [51, 54], "121": [51, 54], "visualis": [51, 52, 54, 55], "df": [51, 52, 54, 55], "n_compon": [51, 52, 54, 55], "amp": [51, 52, 54, 55], "c1ccccc1": [51, 52, 54, 55], "n1c": [51, 52, 54, 55], "c2ccccc2": [51, 52, 54, 55], "nc2cc": [51, 52, 54, 55], "142668": [51, 52, 54, 55], "coc1cc": [51, 52, 54, 55], "ccc1": [51, 52, 54, 55], "c1cc2c": [51, 52, 54, 55], "ncc3ccccc3": [51, 52, 54, 55], "ncn": [51, 52, 54, 55], "221849": [51, 52, 54, 55], "ccn1ccccc1": [51, 52, 54, 55], "nc1ccc2ncnc": [51, 52, 54, 55], "568636": [51, 52, 54, 55], "nc1cc2c": [51, 52, 54, 55], "nc3ccc": [51, 52, 54, 55], "ncnc": [51, 52, 54, 55], "397940": [51, 52, 54, 55], "cc1cnc": [51, 52, 54, 55], "nc2cccc": [51, 52, 54, 55], "c2cc": [51, 52, 54, 55], "ccn": [51, 52, 54, 55], "161151": [51, 52, 54, 55], "2995": [51, 54], "cn1ccn": [51, 52, 54, 55], "c2ccc": [51, 52, 54, 55], "c3c": [51, 52, 54, 55], "nccc4cccc": [51, 54], "366532": [51, 54], "2996": [51, 54], "nc1cc": [51, 52, 54, 55], "nc2nccc": [51, 52, 54, 55], "c3cn": [51, 52, 54, 55], "c4ccccc": [51, 54], "835647": [51, 54], "2997": [51, 54], "cc1ccc": [51, 52, 54, 55], "cnc2nc": [51, 52, 54, 55], "nh": [51, 52, 54, 55], "c4cc": [51, 52, 54, 55], "cc4": [51, 52, 54, 55], "246417": [51, 54], "2998": [51, 54], "coc1ccn": [51, 52, 54, 55], "c2nccc": [51, 52, 54, 55], "nc3cc4": [51, 54], "c5cn": [51, 54], "119186": [51, 54], "2999": [51, 54], "nc1nc": [51, 52, 54, 55], "ncc2ccc": [51, 54], "cc2": [51, 52, 54, 55], "c2c": [51, 52, 54, 55], "n1": [51, 52, 54, 55], "c1ccc": [51, 52, 54, 55], "096910": [51, 54], "row": [51, 52, 54, 55], "someht": [51, 52, 54, 55], "pipeline_instruct": [51, 52, 54, 55], "instruct": [51, 52, 54, 55], "featurizer_import_str": [51, 52, 54, 55], "aggregated_pipelin": [51, 52, 54, 55], "oc": [51, 52, 54, 55], "c1o": [51, 52, 54, 55], "cc1cc2c": [51, 52, 54, 55], "ncnc2cn1": [51, 52, 54, 55], "coc1ccc": [51, 52, 54, 55], "cs3": [51, 52, 54, 55], "c3ccc": [51, 52, 54, 55], "cc3": [51, 52, 54, 55], "cc1": [51, 52, 54, 55], "ncccnc": 51, "c1cccc": [51, 52, 54, 55], "c3cccnc3": [51, 52, 54, 55], "cc1cccc": [51, 52, 54, 55], "cn": [51, 52, 54, 55], "cc2ccc": [51, 52, 54, 55], "nc2ccccc2": [51, 52, 54, 55], "c4cncc": [51, 52, 54, 55], "c4nc4ccc": [51, 52, 54, 55], "nc2ccc3ncnc": [51, 52, 54, 55], "nc4cccc": [51, 52, 54, 55], "c3c2": [51, 52, 54, 55], "nc2ncnc3cc4oc": [51, 52, 54, 55], "cccn5ccocc5": [51, 52, 54, 55], "c4cc23": [51, 52, 54, 55], "coccoc1cc2ncnc": [51, 52, 54, 55], "c2cc1nc": [51, 52, 54, 55], "clccnc1ccc2ncnc": 51, "c2c1": [51, 52, 54, 55], "nc3cc4c": [51, 52, 54, 55], "n5cccc5": 51, "nc5ccccc5": 51, "nc4cn3": [51, 52, 54, 55], "nc2": [51, 52, 54, 55], "c1n": [51, 52, 54, 55], "n2ccc": [51, 52, 54, 55], "h": [51, 52, 54, 55], "2c": [51, 52, 54, 55], "nc1cccc": [51, 52, 54, 55], "nc2nc": [51, 52, 54, 55], "ncc2cl": [51, 52, 54, 55], "coc1cc2ncnc": [51, 52, 54, 55], "cc4ccccn4": [51, 52, 54, 55], "cn1cccc1": [51, 52, 54, 55], "oc1ccc": [51, 52, 54, 55], "nc2nnnc3sc4c": 51, "c23": [51, 52, 54, 55], "ccc4": [51, 52, 54, 55], "occn4cccc4": [51, 52, 54, 55], "oc3ncnc": [51, 52, 54, 55], "nccn4ccncc4": 51, "cnc1cncc": 51, "c3nc": [51, 52, 54, 55], "nc4ccc": [51, 52, 54, 55], "n5ccn": [51, 52, 54, 55], "cc5": [51, 52, 54, 55], "oc4ccccc4": [51, 52, 55], "c2ncnc": [51, 52, 54, 55], "nc3ccccc3": [51, 52, 54, 55], "c2c1c": [51, 52, 54, 55], "ccoc1cc2ncc": [51, 52, 54, 55], "ccoc1cc2ncnc": [51, 52, 54, 55], "occ4cccc": [51, 52, 54, 55], "nc1ccc2c": [51, 52, 54, 55], "c1ccccc1cl": [51, 52, 55], "nc1c": [51, 52, 54, 55], "nc1n2": 51, "nc3ccc4c": [51, 52, 54, 55], "cnn4cc4ccccc4": [51, 52, 54, 55], "cn1": [51, 52, 54, 55], "cnc": [51, 52, 54, 55], "1c": [51, 52, 54, 55], "nc1ncnc2sc": [51, 52, 54, 55], "nccn": [51, 52, 54, 55], "cc12": [51, 52, 54, 55], "ccn1c2ccc": [51, 52, 55], "cc2c2c": [51, 52, 55], "ncnc21": [51, 52, 54, 55], "nc1cc2sc3c": 51, "ncnc3c2cc1f": 51, "cc2nc3cc": [51, 52, 55], "nc4ncnc5nn6ccccc6c45": [51, 52, 55], "ccc3": [51, 52, 54, 55], "c3cn4c5c": [51, 52, 54, 55], "cccc35": [51, 52, 54, 55], "ncn2": [51, 52, 54, 55], "cc1n": [51, 52, 54, 55], "cccc": [51, 52, 54, 55], "ncnc2s1": [51, 52, 54, 55], "c1ncnc2occ": 51, "c12": [51, 52, 54, 55], "c2cc3c": [51, 52, 54, 55], "ncnc3cn2": [51, 52, 54, 55], "coc1cc2c": [51, 52, 54, 55], "oc3ccc": [51, 52, 54, 55], "c4cnc": 51, "nc5ccc": [51, 52, 54, 55], "cc3f": [51, 52, 54, 55], "ccnc2cc1occcn1ccocc1": [51, 52, 54, 55], "nc1ncnc2c1c": [51, 52, 54, 55], "cn2c1ccnc1": [51, 52, 54, 55], "nccccnc": 51, "brc1cccc": [51, 52, 54, 55], "nc2ncnc3ccc": [51, 52, 54, 55], "ncc4ccc5c": [51, 52, 55], "occco5": [51, 52, 54, 55], "cc23": [51, 52, 54, 55], "cc1cl": [51, 52, 54, 55], "n1ccc2ncnc": [51, 52, 54, 55], "c1ccn": [51, 52, 54, 55], "n5ccccc5": [51, 54], "cco": [51, 52, 54, 55], "nc1ccc2sc3c": [51, 52, 55], "nc4ccccc4": [51, 52, 54, 55], "ncnc3c2c1": [51, 52, 54, 55], "nc2ccc": [51, 52, 54, 55], "cn3ccn": [51, 52, 54, 55], "cc1nc": [51, 52, 54, 55], "c1cnc": [51, 54], "nc1": [51, 52, 54, 55], "n5ccocc5": [51, 52, 54, 55], "1cn": [51, 52, 54, 55], "cc2cc3ncnc": [51, 52, 54, 55], "occ5cccc": [51, 52, 54, 55], "c3s2": [51, 52, 54, 55], "oc2n1": [51, 52, 54, 55], "occn": [51, 52, 54, 55], "cn1ccocc1": [51, 52, 54, 55], "n1ccc2c": [51, 52, 54, 55], "sc3ncnc": [51, 52, 54, 55], "c4ccccc4": [51, 52, 54, 55], "fc1cccc": [51, 52, 54, 55], "coc2ccc": [51, 52, 54, 55], "nc3ncnn4ccc": [51, 52, 54, 55], "coc": [51, 52, 54, 55], "5cncco5": [51, 52, 54, 55], "c34": [51, 52, 54, 55], "cc2cl": [51, 52, 54, 55], "cc1ccccc1c": 51, "nc1ncnc2": [51, 52, 54, 55], "c3nccc": [51, 52, 54, 55], "ccco": [51, 52, 54, 55], "nc4c4cc4": [51, 52, 55], "c2cc1occcn1ccnccnccncc1": 51, "ncc1cccc": [51, 52, 54, 55], "c2nc": [51, 52, 54, 55], "c3ccnc4": [51, 52, 54, 55], "c5ccccc5": [51, 52, 54, 55], "cc34": [51, 52, 54, 55], "nc2ncnc3ccncc23": [51, 52, 54, 55], "c1nccccn": 51, "c3cccc": [51, 52, 54, 55], "nc3c": [51, 52, 54, 55], "cc4ccccc4": [51, 52, 54, 55], "ccnc2cn1": [51, 52, 55], "c1cc1": [51, 54], "cc1ccccc1nc": [51, 52, 55], "cc1ccn2ncnc": [51, 52, 54, 55], "c2cc1oc": [51, 52, 54, 55], "csc1nc2ccccc2n1c": 51, "nc2ncnc3cnc": [51, 52, 54, 55], "nccn4ccocc4": [51, 52, 55], "nc23": [51, 52, 54, 55], "coc1cccc": [51, 52, 54, 55], "c2cn": [51, 52, 54, 55], "c3ccccc3": [51, 52, 54, 55], "c3ncnc": [51, 52, 54, 55], "n2c": [51, 52, 54, 55], "c3cnc": [51, 52, 54, 55], "cc4oc": [51, 52, 54, 55], "nc32": [51, 52, 54, 55], "ccc": [51, 52, 53, 54, 55], "n1cc": [51, 52, 54, 55], "c3cc": [51, 52, 54, 55], "ccc3f": [51, 52, 54, 55], "cc3cnc": [51, 52, 54, 55], "cc4c": 51, "ncc4ccccc4": [51, 52, 54, 55], "ncnc2cc1oc": [51, 52, 54, 55], "c4cccc": [51, 52, 54, 55], "c5ccoc5": 51, "ccnc2cc1occcn1ccn": [51, 52, 54, 55], "nn2c": [51, 52, 54, 55], "ncnc2c1": [51, 52, 54, 55], "nc1ncnc2oc": [51, 52, 54, 55], "ncnc2cc1o": [51, 52, 54, 55], "1ccoc1": [51, 52, 54, 55], "c2cc1occccn1ccnc1": [51, 52, 55], "ncnc2cc1occcn1cccc1": [51, 52, 55], "nc2cc3c": [51, 52, 54, 55], "cc2nc2ccc": [51, 54], "n2ccn": [51, 52, 54, 55], "ccc1nc1ncc": [51, 52, 54, 55], "c3ccccc23": [51, 52, 54, 55], "c2cc1occccc": 51, "NO": [51, 52, 54, 55], "cnc3cnc": [51, 52, 54, 55], "cn1cc": [51, 52, 55], "n1cnc2cnc": [51, 54], "nc3ccnc": [51, 52, 54, 55], "n3": [51, 52, 54, 55], "cc21": [51, 52, 54, 55], "oc2ccc": [51, 52, 54, 55], "nc2ncnc3cc4c": [51, 52, 54, 55], "occoccocco4": [51, 52, 54, 55], "cc3ccccc3": [51, 52, 54, 55], "cc5ccccc5": 51, "cc1cc2cc": [51, 52, 54, 55], "nc3ccnc4cc": [51, 52, 54, 55], "c5ccc": [51, 52, 54, 55], "sc34": [51, 52, 54, 55], "ccc2": [51, 52, 54, 55], "cc1ccccc1nc1ncnn2ccc": [51, 52, 55], "cn3ccc": [51, 52, 55], "clc1cccc": [51, 52, 54, 55], "nc3ncnc": [51, 52, 54, 55], "n1ncc2cc": [51, 52, 54, 55], "nc3ncnc4cc": [51, 52, 54, 55], "5c": [51, 54], "n6ccocc6": [51, 54], "cn5": [51, 54], "ccc21": [51, 52, 54, 55], "coc1ccccc1": [51, 52, 54, 55], "c1nnc": [51, 52, 54, 55], "scc2ccccc2": [51, 52, 55], "o1": [51, 52, 54, 55], "ccoc1ccc": [51, 52, 54, 55], "ccn1c": [51, 52, 55], "nc1nncc2ccccc12": [51, 52, 55], "c3f": [51, 52, 54, 55], "c2cc1cn": [51, 52, 54, 55], "clc1cc": [51, 54], "nc2ncnc3": [51, 52, 54, 55], "occcn4ccocc4": [51, 52, 54, 55], "ccc1occ1ccccn1": [51, 54], "n2cc3cnc": [51, 52, 55], "nc3n": [51, 52, 54, 55], "3cc": [51, 52, 55], "nc3ccc4ncnc": [51, 52, 54, 55], "occ6cccc": [51, 52, 54, 55], "c6": [51, 52, 54, 55], "c4c3": [51, 52, 54, 55], "c2nn": [51, 52, 54, 55], "c2cnccn2": 51, "2o": [51, 52, 54, 55], "n1c3ccccc3c3c4c": [51, 52, 54, 55], "c5c6ccccc6n2c5c31": [51, 52, 54, 55], "nc4": [51, 52, 54, 55], "n1n": [51, 52, 54, 55], "cc1c1ccc": [51, 52, 54, 55], "occn2c": [51, 52, 54, 55], "cnc2c": [51, 52, 54, 55], "cccl": [51, 52, 54, 55], "cc1ccss1": [51, 52, 55], "cc1nnc": [51, 52, 55], "nc2ncnc3c2sc2ccc": [51, 52, 55], "cn1c": [51, 52, 54, 55], "cccc2cl": [51, 52, 54, 55], "cc2cnc": [51, 52, 54, 55], "nc21": [51, 52, 54, 55], "nc1ccc2nccc": [51, 52, 54, 55], "c1ccc2": [51, 52, 54, 55], "occ1": [51, 52, 54, 55], "oo2": [51, 52, 54, 55], "c2cc3cc": [51, 52, 54, 55], "cc1c3": [51, 52, 54, 55], "c1cc2cc": [51, 52, 55], "nc4ncnc5ccn": [51, 52, 54, 55], "c45": [51, 52, 54, 55], "cc3cl": [51, 52, 54, 55], "ccc2n1": [51, 54], "c1cccnc1cl": [51, 52, 54, 55], "ccncc1ccc": [51, 52, 54, 55], "c2ccc3ncnc": [51, 52, 54, 55], "occ5ccccc5": [51, 52, 54, 55], "n2ncnc12": [51, 52, 55], "nnc": [51, 52, 54, 55], "nc1ccccc1": [51, 52, 54, 55], "ccoc": [51, 52, 54, 55], "c1cn2ncnc": [51, 52, 54, 55], "c2c1cc": [51, 52, 54, 55], "ccn4cc": [51, 52, 55], "cnc2cc1occ": 51, "c2cc1occcn1ccocc1": [51, 52, 54, 55], "cbr": [51, 52, 55], "occn1c": [51, 52, 54, 55], "oc2cc3ncnc": [51, 52, 54, 55], "c3cc21": [51, 52, 54, 55], "cccnc2ncc3cc": [51, 52, 55], "c4c": [51, 52, 54, 55], "cccc4cl": [51, 52, 54, 55], "nc3n2": [51, 52, 55], "c1nn": [51, 52, 55], "cc1c": [51, 52, 54, 55], "c1c": [51, 52, 54, 55], "cc1cc": [51, 52, 54, 55], "c2cc3cnc": [51, 52, 54, 55], "nc3nc2nc": [51, 52, 54, 55], "fc1ccc": [51, 52, 54, 55], "nc2ncnc3sc": [51, 52, 55], "nc2ncnc3nc": [51, 52, 54, 55], "sc23": [51, 52, 54, 55], "nn2": [51, 52, 54, 55], "ccsc": [51, 52, 55], "n1ccn": [51, 52, 54, 55], "c2ccccn2": [51, 52, 55], "cn1ccccc1": [51, 52, 54, 55], "nccc4c": [51, 52, 55], "cn4": [51, 52, 54, 55], "nc2ncnc3cc": [51, 52, 54, 55], "ncc23": [51, 52, 54, 55], "nc1ccc": [51, 52, 54, 55], "c3cccc3": [51, 52, 54, 55], "cc1o": [51, 52, 54, 55], "c2n": [51, 52, 54, 55], "c21": [51, 52, 54, 55], "ccccnc1cc2c": [51, 52, 55], "c2nc2ccc": [51, 52, 55], "c2nc3ccccc3s2": [51, 52, 54, 55], "on2ccc": [51, 52, 55], "occ4ccccn4": [51, 52, 54, 55], "cccn1c": [51, 52, 54, 55], "nc4ccc5": [51, 52, 54, 55], "ncc5c4": 51, "cc1ccc2ccc": [51, 52, 55], "c3nn": [51, 52, 54, 55], "c4ncnc": [51, 52, 54, 55], "cc2n1": [51, 52, 54, 55], "coccn1c": [51, 52, 54, 55], "nc2ncnc3c2ncc2cc": [51, 52, 54, 55], "ccc2o3": [51, 52, 54, 55], "1coc": [51, 52, 54, 55], "ccoc1cc": [51, 52, 54, 55], "occ3cccc": [51, 52, 54, 55], "nc1ncnc2cc3oc": [51, 52, 55], "cccn4ccocc4": [51, 52, 55], "c3cc12": [51, 52, 55], "c2cc1occn1cc": [51, 52, 54, 55], "cc2cc3c": [51, 52, 54, 55], "c1ccc2sc3c": [51, 52, 54, 55], "c4nc5ccccc5s4": [51, 52, 54, 55], "cc3c": [51, 52, 54, 55], "c2cc1occcn1ccn": [51, 52, 54, 55], "coc1cc2ncc": [51, 52, 54, 55], "cc1n1ccc": [51, 52, 54, 55], "cc1ncc": [51, 52, 54, 55], "c1ccccc1o": 51, "c1ccccn1": [51, 52, 55], "nc1ccc2ncncc2c1": 51, "oc1cccc2ncnc": [51, 52, 54, 55], "cnn4cc4nccs4": [51, 52, 55], "n1ccocc1": [51, 52, 54, 55], "nc1cnc": [51, 52, 55], "ccc2o": [51, 52, 54, 55], "c2ccc3cnccc3c2": [51, 52, 54, 55], "2cc": [51, 52, 54, 55], "n3nc": [51, 52, 54, 55], "c4ccc": [51, 52, 54, 55], "nc5nc6cccc": [51, 54], "c6o5": [51, 54], "ncnc43": [51, 52, 54, 55], "c1oc": [51, 52, 54, 55], "nc1ccccn1": 51, "nc2nncc3ccccc23": [51, 52, 54, 55], "cc1nc2cnc": [51, 52, 54, 55], "n4cc": [51, 52, 54, 55], "cc2n1c": [51, 52, 54, 55], "ccn1ccn": [51, 52, 54, 55], "c3cc4c": [51, 52, 54, 55], "ncnc4": [51, 52, 54, 55], "c4ccco4": [51, 54], "c2cc1occ": [51, 52, 54, 55], "n1ccoc": [51, 52, 54, 55], "n2nc": [51, 52, 54, 55], "ncnc32": [51, 52, 54, 55], "ncnc2cc1occcn1ccn": [51, 52, 54, 55], "cn2ncc3cc": [51, 52, 54, 55], "nc4ncnn5ccc": [51, 52, 54, 55], "6cncco6": [51, 52, 54, 55], "ccc32": [51, 52, 54, 55], "nccn1ccc2ncnc": [51, 52, 54, 55], "oc4cccc": [51, 52, 54, 55], "clc1ccc": [51, 52, 54, 55], "c2cccs2": [51, 54], "c2cc3ccccc3nc2cl": [51, 54], "c4c23": [51, 52, 54, 55], "nc1ncnc": [51, 52, 54, 55], "nc2ccc3c": [51, 52, 54, 55], "cnn3cc3cccc": [51, 52, 54, 55], "ncc": [51, 52, 54, 55], "cccc1ccc": 51, "nc2ncc3cc": [51, 54], "c3n2": [51, 52, 54, 55], "nc3ccccc3c": 51, "n1ccc": [51, 52, 54, 55], "c2cc1cn1ccc": [51, 54], "nc2nc3ncnc": [51, 52, 54, 55], "cscc2ccccc2": [51, 52, 54, 55], "cc1ccccc1": [51, 52, 54, 55], "c2nc3sccn3c2": 51, "c2ccnc": [51, 52, 54, 55], "ccnc4": 51, "ssc2": [51, 52, 54, 55], "c3ccccc3c2c": [51, 52, 54, 55], "c2ccccc12": [51, 52, 54, 55], "coc2c1": 51, "nc1ccn": [51, 52, 54, 55], "cc2ccn3ncnc": [51, 52, 54, 55], "occ5cccnc5": 51, "c1ccc2ncnc": [51, 52, 54, 55], "n3nccn3": [51, 54], "cc1n1ccocc1": [51, 54], "cc1ncnc": [51, 52, 54, 55], "cn2cccc2": [51, 52, 54, 55], "cc3ccc": [51, 52, 54, 55], "c2n1": [51, 52, 54, 55], "cccn1ccocc1": [51, 54], "nc2ccnc": [51, 52, 54, 55], "c3ccn": [51, 52, 54, 55], "ccnc1cc2c": [51, 54], "ncnc2cc1occcn1ccocc1": [51, 52, 54, 55], "nc1cccc2c": [51, 52, 54, 55], "ncnc12": [51, 52, 54, 55], "occ": [51, 52, 54, 55], "occo4": [51, 52, 54, 55], "csc2nnc": [51, 54], "cnc3ccc": [51, 54], "coc1c": [51, 52, 54, 55], "nc3ccccc32": [51, 52, 54, 55], "cccn": [51, 52, 54, 55], "nc1ccc2ncc": [51, 52, 54, 55], "nc2ncnc": [51, 52, 54, 55], "cn2ccocc2": [51, 54], "c4ccccc34": [51, 52, 54, 55], "c2oc": [51, 52, 54, 55], "coc1cccc2ncnc": [51, 52, 54, 55], "oc2ccnc3": [51, 54], "ccc23": [51, 52, 54, 55], "c1nnn": [51, 54], "ccccccccccoc": 51, "oc2c1": [51, 52, 54, 55], "coc1ncc": [51, 54], "nn2c2": [51, 52, 54, 55], "cs2": [51, 52, 54, 55], "ncnc2cc1occ1cn": [51, 52, 54, 55], "cc2ccccc2f": [51, 52, 54, 55], "nn1": [51, 52, 54, 55], "no1": [51, 54], "nn2c2nc": [51, 52, 54, 55], "c2cc1occccccc": 51, "ooc2": [51, 52, 54, 55], "nc5cccc": [51, 52, 54, 55], "oo1": [51, 52, 54, 55], "oc3nc": [51, 52, 54, 55], "ncc3cl": [51, 52, 54, 55], "1ccn": [51, 52, 54, 55], "ncnc4cn3": [51, 54], "o2": [51, 52, 54, 55], "n3ccn": [51, 52, 54, 55], "ccc1nc1nccc": [51, 54], "nc4c": [51, 52, 54, 55], "cccc4f": [51, 54], "nc3ccccn23": [51, 54], "cccccn2c3c": [51, 54], "occc5ccc": [51, 54], "ccc42": [51, 54], "nc1ncnc2nn3ccccc3c12": [51, 52, 55], "n2ccocc2": [51, 52, 54, 55], "ncn1": [51, 52, 54, 55], "1cccn": [51, 52, 54, 55], "nc3nncc4ccccc34": [51, 54], "c3cc4cc5ccccc5nc4s3": [51, 54], "cc1oc": [51, 52, 54, 55], "c1ccc2cc": [51, 52, 54, 55], "cc1nn": [51, 52, 55], "nc1cn1nc": 51, "c1cn": [51, 52, 54, 55], "nc1nccc": [51, 54], "ncn2c2ccccc2": [51, 54], "ccc1c": [51, 52, 54, 55], "cc2ccccc2": [51, 52, 54, 55], "ccccccn1cc": [51, 52, 54, 55], "ncc1ccccc1": [51, 52, 54, 55], "cnc1ncc": 51, "cn4ccn": [51, 54], "ccc2c": [51, 54], "c2cc1occcn1ccnccncc1": [51, 52, 54, 55], "nccncc1ccc": [51, 54], "c2cc3nccc": [51, 54], "ccc5c4": [51, 52, 54, 55], "cccoc": [51, 52, 54, 55], "cccnc": [51, 52, 54, 55], "cn6ccncc6": [51, 52, 55], "n4ccn": [51, 52, 54, 55], "c3ncn": [51, 52, 54, 55], "ncccn": [51, 54], "ccccccccccccccccccccnc": [51, 52, 54, 55], "cn2c": [51, 52, 54, 55], "cnc2cn1": [51, 54], "nccsc1nc": [51, 52, 54, 55], "n2cc3c": [51, 52, 54, 55], "c1coc2cc3ncnc": [51, 52, 54, 55], "c3cc2n1cccn1ccocc1": [51, 52, 54, 55], "nc3cc3c3ccccc3": [51, 52, 54, 55], "c2cc1occcn": [51, 52, 54, 55], "c2ccc3c": [51, 52, 54, 55], "sc5nccn5c": [51, 54], "cnc3c2": [51, 54], "oc2nc": [51, 52, 54, 55], "nc3cnn": [51, 52, 54, 55], "nc2ncc": [51, 52, 54, 55], "c3cnn4ccccc34": [51, 52, 54, 55], "cc1n1ccn": [51, 52, 54, 55], "n2ccncc2": [51, 54], "n3ccncc3": [51, 54], "c2ncn": [51, 52, 54, 55], "c1csc": [51, 52, 54, 55], "cn2ncnc": [51, 52, 54, 55], "cc4occ": [51, 54], "cc1cnc2ccc": [51, 52, 54, 55], "cc2c1n": [51, 52, 54, 55], "1c1ccccc1": [51, 52, 54, 55], "ncnc2cc1occcn1ccc": [51, 52, 54, 55], "ccc1f": [51, 52, 54, 55], "c1ccccc1f": [51, 52, 54, 55], "c2cc1occnc": [51, 52, 54, 55], "c2cc1occc": [51, 54], "se": [51, 52, 54, 55], "oc4ccocc4": [51, 54], "cc3oc": [51, 52, 54, 55], "c1ccc2c1ccc": [51, 54], "c2o": [51, 54], "nc1cc2ncnc": [51, 54], "occoc": [51, 52, 54, 55], "cc54": [51, 52, 54, 55], "cnn4cc4ccccn4": [51, 52, 54, 55], "ccccn1ccocc1": [51, 54], "cccc1nc1ncnc2ccncc12": [51, 52, 54, 55], "occcn4cnnn4": [51, 54], "ncc2": [51, 54], "ncnc2cc1occn1ccccc1": [51, 52, 54, 55], "cc1nc1nccc": [51, 52, 54, 55], "c2cccnc2": [51, 52, 54, 55], "nc1ncnc2occ": [51, 54], "nc4cc": [51, 54], "ccc4f": [51, 52, 54, 55], "ccccccccccccccnc": [51, 54], "ncc2cc": [51, 54], "ccc1o": [51, 52, 54, 55], "n1nc": [51, 52, 54, 55], "c4cccnc34": [51, 52, 54, 55], "ccnc": [51, 52, 54, 55], "c3ccccc3cl": [51, 52, 54, 55], "cocc": [51, 52, 54, 55], "nc3cc": [51, 52, 54, 55], "c2cccc": [51, 52, 54, 55], "n4ccccc4": [51, 54], "ccc2c1": [51, 52, 54, 55], "oc1cc2ncnc": [51, 52, 54, 55], "c2c2c1occo2": [51, 52, 54, 55], "nc2ncnc3sc4c": [51, 52, 54, 55], "cccc4": [51, 52, 54, 55], "ncnc2cc1occcc": 51, "ccn1ccocc1": [51, 52, 54, 55], "nc2ncnn3ccc": [51, 52, 54, 55], "cn4ccc": [51, 52, 54, 55], "oc1cccc": [51, 54], "nc3ncnc4ccc": [51, 52, 54, 55], "cn6ccocc6": [51, 52, 54, 55], "o5": [51, 52, 54, 55], "ccc3o": [51, 54], "n4cc5ccccc5c4": [51, 52, 54, 55], "ncnc2cc1occ1ccn": [51, 52, 54, 55], "nc3ccc4": [51, 52, 54, 55], "ncc4c3": [51, 54], "nc2n1": [51, 52, 54, 55], "o4": [51, 52, 54, 55], "nc1cnn": [51, 54], "coc1cc2cc3ncc": [51, 54], "c3cc2cc1oc": [51, 54], "1cc": [51, 52, 54, 55], "1oc2cc3ncnc": [51, 52, 54, 55], "c3cc2o": [51, 52, 54, 55], "ccccccc": [51, 52, 54, 55], "nc1ncc": [51, 52, 54, 55], "cc1f": [51, 52, 54, 55], "occcoc1ccc2ncnc": [51, 52, 54, 55], "ccc3cl": [51, 54], "c6coc6": [51, 54], "oc2cc": [51, 52, 54, 55], "c4cc4": [51, 52, 54, 55], "c2cc3ccccc3": [51, 52, 54, 55], "nc2ncnc3ccccc23": [51, 54], "cc2c": [51, 52, 54, 55], "ncnc2nc2ccc": [51, 52, 54, 55], "oc3cccc4sccc34": [51, 52, 54, 55], "ncc1": [51, 52, 54, 55], "occ2ccccc2": [51, 52, 54, 55], "nc3ncnc4ccn": [51, 52, 54, 55], "ccocco": [51, 54], "cccn2ccccc2": [51, 54], "co4": [51, 52, 54, 55], "oc4cccc5sncc45": [51, 52, 54, 55], "oc2ccccc2nc": [51, 52, 54, 55], "cocc2ccccc2": [51, 52, 54, 55], "nnc1nncc2ccccc12": [51, 52, 54, 55], "nc4cnn": 51, "ncccn4ccnc4": [51, 52, 54, 55], "cnc1c": [51, 52, 54, 55], "ncnc1o2": [51, 52, 54, 55], "nc2ncc3c": [51, 52, 54, 55], "cc2sc3": [51, 54], "c2cccc3": [51, 54], "2ccn": [51, 52, 54, 55], "c2ccccc2cl": [51, 52, 54, 55], "ccc1n1ccn": [51, 52, 54, 55], "cn4ccocc4": [51, 52, 54, 55], "ncc2f": [51, 52, 54, 55], "cc1nc1nc2c": [51, 54], "c1ccc2ccccc2c1": [51, 52, 55], "ccl": [51, 52, 54, 55], "oc5cccc": [51, 52, 54, 55], "nc3ncnc4cc5c": [51, 52, 54, 55], "nc2ncc3nc": [51, 52, 54, 55], "cc4f": [51, 52, 54, 55], "4ccoc4": [51, 54], "ncnc1nc1ccc2": [51, 54], "cc3cccc": [51, 54], "nc2c1": [51, 52, 54, 55], "cc1c1ccc2ccccc2c1": [51, 54], "c1nc": [51, 52, 54, 55], "c2cc2": [51, 52, 54, 55], "nc4ccc5c": [51, 52, 54, 55], "cnn5cc5cccc": [51, 52, 54, 55], "cc2cncnc2nc2ccc": [51, 54], "ccccoc": [51, 52, 54, 55], "cc1ccc2ncnc": [51, 52, 54, 55], "oc3cccc": [51, 52, 54, 55], "nccnc": [51, 52, 55], "ncnc3s2": [51, 52, 54, 55], "c2cc3ncnc": [51, 52, 54, 55], "nc1ccccc1nc": [51, 54], "ncnc1nc1ccc2c": [51, 52, 54, 55], "ccn2cc1cccc": [51, 54], "occc4ccc": [51, 54], "ccc3n2cccccc2ccccc2": [51, 54], "c1cncc": [51, 52, 54, 55], "cnc2ccc3ncnc": [51, 52, 54, 55], "cnn5cc5ccccn5": [51, 54], "cncco": [51, 52, 54, 55], "coc1ccccc1nc1cc": [51, 52, 54, 55], "c1nc2c": [51, 54], "cn1ccncc1": [51, 54], "cc1ccn": [51, 54], "n2ccoc3cc4ncnc": [51, 54], "c4cc32": [51, 54], "nc1nn2c": [51, 54], "c1ccc2c": [51, 54], "oco2": [51, 52, 54, 55], "cc1ccccc1nc1nc2cc": [51, 54], "cc2n2cncc12": [51, 54], "c2cc1occn1cc2": [51, 52, 54, 55], "csc2": [51, 52, 54, 55], "c1cc2ncnc": [51, 52, 54, 55], "c2cn1": [51, 52, 54, 55], "ncc3cccc": [51, 54], "occ2nnc": [51, 52, 54, 55], "cc3nc4ccccc4": [51, 52, 54, 55], "sc": [51, 52, 54, 55], "ccn2": [51, 52, 54, 55], "c1ncnc2cc": [51, 52, 54, 55], "occcn3ccocc3": [51, 52, 54, 55], "cco4": [51, 54], "n4": [51, 52, 54, 55], "cc2cccc": [51, 52, 54, 55], "occccoc1ccc2ncnc": [51, 54], "ob": [51, 52, 54, 55], "c3cl": [51, 52, 54, 55], "ccn3ccocc3": [51, 52, 54, 55], "ccc12": [51, 52, 54, 55], "ccc1nc": [51, 52, 54, 55], "nccccocc1ccn2ncnc": [51, 54], "cnn4cc4cccc": [51, 52, 54, 55], "nc2ccc3": [51, 54], "ccc3c2": [51, 54], "c2sccc2n1": [51, 54], "oc2cccc": [51, 52, 54, 55], "ccn3cccc3": [51, 54], "ncc1ccc": [51, 52, 54, 55], "ncnc2cc1occ1ccncc1": [51, 52, 54, 55], "n2cc": [51, 52, 54, 55], "cn3ccncc3": [51, 54], "cnc3c4ccccc4nc2": [51, 54], "c1cc2cnnc": [51, 52, 54, 55], "nc3ncnc4sc": [51, 52, 54, 55], "c5ccco5": [51, 54], "occn1ccc2ncnc": [51, 52, 54, 55], "ccn1nc": [51, 52, 54, 55], "ncnc2cc1occoccnc": [51, 52, 54, 55], "cn1cnc": [51, 52, 54, 55], "c2cc1cn1ccc1c": [51, 54], "occo": 51, "5cc": [51, 54], "43c": 51, "2c1": 51, "cccncc": [51, 54], "cn1ccc": [51, 52, 54, 55], "c3c2o": [51, 54], "cn2": [51, 52, 54, 55], "cc1ncnc2cc": [51, 52, 54, 55], "c2ccn": [51, 54], "ccc1ccc": [51, 52, 54, 55], "fc1ccc2c": [51, 52, 54, 55], "c4nc5ccc": [51, 52, 54, 55], "cc5s4": [51, 52, 54, 55], "c5cnn": [51, 54], "cn3": [51, 52, 54, 55], "n4c": [51, 52, 54, 55], "1f": [51, 52, 54, 55], "cn2c1ccc1": [51, 54], "c2ccc3occc": [51, 52, 54, 55], "nc2c": [51, 52, 54, 55], "cnc3cc": [51, 54], "c4coc": 51, "cn5ccn": 51, "cc1c1ccccc1cl": [51, 52, 54, 55], "nc3ccccc3p": [51, 54], "ccoc1cc2nccc": [51, 54], "ncc2sc": [51, 52, 54, 55], "occ3ccccc3": [51, 54], "c1cc2cccc": [51, 54], "n5ccc": [51, 52, 54, 55], "ccnc1cc2ncnc": [51, 52, 54, 55], "nc1nc2c": [51, 52, 54, 55], "c1ccccc1c2": [51, 52, 54, 55], "ccnccccoc1ccc2ncnc": [51, 54], "c2c3c4cc": [51, 52, 54, 55], "occcn": [51, 52, 55], "c3n3ccc4cc": [51, 52, 54, 55], "cc4c23": [51, 52, 54, 55], "nccn4ccccc4": [51, 54], "c2cc1": [51, 52, 54, 55], "cccc1c": [51, 54], "coccnccoc1cc2c": [51, 52, 54, 55], "occ4ccco4": [51, 54], "coc1ccc2c": [51, 52, 54, 55], "oc1ncnc": [51, 52, 54, 55], "c1nc2": [51, 52, 54, 55], "coc1ccccc1nc": [51, 54], "c4ccn": [51, 52, 54, 55], "c1ccc3occc": [51, 54], "c3c1": [51, 54], "nn2c1cccc1": [51, 52, 54, 55], "c2cccccc2": [51, 54], "c2cc1occn1ccccc1": [51, 54], "ccn4cc4ccccc4": [51, 54], "ccccccoc1cc2c": [51, 52, 54, 55], "scccc": [51, 52, 54, 55], "cncc": [51, 52, 54, 55], "c3ccco3": [51, 54], "ccc1cc": [51, 52, 54, 55], "nc5c": [51, 52, 54, 55], "cccc5f": [51, 52, 54, 55], "nc4ccccn34": [51, 52, 54, 55], "cncc1coc1": [51, 54], "cnc2ncnc3oc": [51, 54], "scc3cccc": [51, 52, 54, 55], "c1cc2ccc": [51, 52, 54, 55], "ccncc1cn2ncnc": [51, 52, 54, 55], "cnc2": [51, 52, 54, 55], "c3ccccc3c2cc": [51, 52, 54, 55], "ncc2ccccc2": [51, 52, 54, 55], "nc1ncnc2sc3c": [51, 54], "cn1nc": [51, 52, 54, 55], "c2ccc3ccccc3c2": [51, 54], "occ2c": [51, 52, 54, 55], "cc1ccncc1": [51, 52, 54, 55], "ncnc2cc1occn1ccocc1": [51, 52, 54, 55], "fc": [51, 54], "c1cccs1": [51, 52, 54, 55], "nc2ncnc3c2ncc2ccccc2o3": [51, 52, 54, 55], "ncccl": [51, 52, 54, 55], "cc1ccc2cc": [51, 54], "c3ccncc3": [51, 54], "cnc1cccc": [51, 52, 54, 55], "n2c3nc": [51, 52, 54, 55], "ncc3c": [51, 52, 54, 55], "n3ccnc23": [51, 52, 54, 55], "c1nc2cnc": [51, 54], "occccncc": [51, 52, 54, 55], "cnc6ccncc6": [51, 54], "ccocc1ccc2c": [51, 54], "coc2cc": [51, 54], "oc2ncnc3ccccc23": [51, 54], "nc4ccccc4cl": [51, 52, 54, 55], "sc4ccc": [51, 52, 54, 55], "c4ccocc4": [51, 52, 54, 55], "nccocc1ccn2ncnc": [51, 52, 54, 55], "cc1c1ccccc1": [51, 54], "ccn5ccc5ccccc5": [51, 54], "nc12": [51, 54], "c2nnc": [51, 52, 54, 55], "ococ": [51, 54], "c3ccc4ccccc4c3": [51, 52, 54, 55], "c2csc": [51, 52, 54, 55], "c2cc1occoc": [51, 52, 54, 55], "nnc2c1": [51, 52, 54, 55], "nc3ncnc4": [51, 52, 54, 55], "occn5ccc": [51, 52, 54, 55], "cc2f": [51, 52, 54, 55], "c4ccccc4f": [51, 52, 54, 55], "o3": [51, 52, 54, 55], "c2ccc3nc": [51, 54], "nc2nnc": [51, 52, 54, 55], "cc3ccncc3": [51, 52, 54, 55], "c1ccccc1br": [51, 54], "ccnc1nc": [51, 54], "cs1": [51, 52, 54, 55], "ccc3ccccc3": [51, 52, 54, 55], "c1ncc2cccc": [51, 52, 54, 55], "nc1nccs1": [51, 52, 54, 55], "n1cc2ccccc2c1": [51, 54], "cc1c1cccc2ccccc12": [51, 52, 54, 55], "c2cc1occn": [51, 52, 54, 55], "cc3nnc": [51, 52, 54, 55], "cc4nc5ccccc5": [51, 54], "cccccccccnc": [51, 52, 54, 55], "ccc1oc": [51, 52, 54, 55], "coc1cc2nc": [51, 52, 54, 55], "nc4nccs4": [51, 52, 54, 55], "cc3ccc4ccccc4c3": [51, 54], "cccccccnc": [51, 52, 54, 55], "n2n": [51, 52, 54, 55], "cc2c2ccc": [51, 52, 54, 55], "ssc3c": [51, 52, 54, 55], "ncc4ccc": [51, 52, 54, 55], "c4ccccc4n3c": [51, 52, 54, 55], "c3cccc4ccccc34": [51, 52, 54, 55], "coc1ccccc1cnc1nc": [51, 52, 54, 55], "cc3c12": [51, 52, 54, 55], "c2ccccc21": [51, 52, 54, 55], "c2ccc3": [51, 52, 54, 55], "c3ccccc3c2ccc": [51, 52, 54, 55], "csccncc1ccc": [51, 54], "nc2cl": [51, 54], "cnc4": [51, 54], "occn2ccnc2": [51, 52, 54, 55], "oc2ccccc2n": [51, 52, 54, 55], "cc2o": [51, 52, 54, 55], "c3cccs3": [51, 54], "sc2": [51, 54], "coccn": [51, 52, 54, 55], "c1ncccn1ccocc1": [51, 54], "cc3o2": [51, 52, 54, 55], "nc1ccncc1": [51, 52, 54, 55], "c1ccc3cn": [51, 54], "ncnc2cc1occcn1ccnc1": [51, 54], "ncnc2nc1ncco": [51, 52, 54, 55], "c2ccnc3": [51, 52, 54, 55], "ncc3c2": [51, 52, 54, 55], "c1cccnc1": [51, 52, 54, 55], "ncnc2nc2ccc3c": [51, 52, 54, 55], "csc1cn2c": [51, 54], "ns2": [51, 54], "n5cc6": [51, 54], "cc6": [51, 54], "ccn3ccccc3": [51, 54], "cnc3nc4ccccc4c2": [51, 54], "n3cccn3": [51, 52, 54, 55], "c2cc1occcccn1ccnc1": [51, 52, 54, 55], "cccc3": [51, 52, 54, 55], "1ccnc1": [51, 52, 54, 55], "c2cc1o": [51, 54], "cococ1cc": [51, 52, 54, 55], "ccc1br": [51, 52, 54, 55], "cn4cc": [51, 54], "cnn2cc2cccc": [51, 52, 54, 55], "sc2cccc": [51, 52, 54, 55], "nc3nccc": [51, 52, 54, 55], "c5cccc": [51, 52, 54, 55], "cc6ccccc6": [51, 54], "nc5sccn45": [51, 52, 54, 55], "nc2n": [51, 52, 54, 55], "c4cnn": [51, 54], "c5ccncc5": [51, 54], "ncco": [51, 52, 54, 55], "nc4ccccc4c": 51, "ssc2c": [51, 52, 54, 55], "c3cccnc3n2c": [51, 52, 54, 55], "c2cccnc21": [51, 52, 54, 55], "cnc1cc2c": [51, 52, 54, 55], "cncc1ncccn1": [51, 54], "cn1ncc": [51, 54], "ncccsc1nc": [51, 54], "nc2ccccc21": [51, 52, 54, 55], "nc2cnc": 51, "1cn1cc": [51, 52, 54, 55], "oco3": [51, 52, 54, 55], "ccccoc1cc2c": [51, 52, 54, 55], "cc2cc": [51, 52, 54, 55], "oc2ccoc2": [51, 54], "c45cc6cc": [51, 52, 54, 55], "nc3nsc4ccccc34": [51, 54], "occn4ccccc4": [51, 54], "nccccccccccnc": [51, 54], "c4nc": [51, 52, 54, 55], "coccnc": [51, 54], "coc1ccc2ncc": [51, 54], "3c": [51, 54], "3c3ccccc3": [51, 54], "nc2nccs2": [51, 52, 54, 55], "ncccn1ccoc1": [51, 54], "ccc2cl": [51, 54], "nc1nc1cccc1": [51, 54], "occcsccco4": [51, 54], "cc1cnc2cc": [51, 54], "c3cssc3": [51, 54], "cc2c1nc1ccc": [51, 52, 54, 55], "occ2cccc": [51, 54], "n1cccc": [51, 52, 54, 55], "occcncc1ccc": [51, 54], "ncccn1cccc1": [51, 54], "ccn4cc3ccccn3": [51, 54], "1oc": [51, 52, 54, 55], "c3ccc4ncnc": [51, 52, 54, 55], "ccc1ccccc1": [51, 54], "cccn1cc": [51, 54], "3cn": [51, 54], "3oc": [51, 54], "nc3cnc": [51, 52, 54, 55], "nc3ncc4nc": [51, 54], "sc5ccccc5": [51, 54], "c4n3": [51, 54], "n3ccc4ccccc43": [51, 52, 54, 55], "csc2nc3c": [51, 54], "n3c": [51, 54], "c1nc1ncc": [51, 54], "occ3cccn": [51, 54], "n2cncc12": [51, 54], "nc2nc3cccc": [51, 54], "2ccccn": [51, 54], "ccn1": [51, 52, 54, 55], "c3cnc3": [51, 52, 54, 55], "cnccocco": [51, 54], "c1cc2cnc": [51, 54], "nc2nc1nc": [51, 54], "ncccn1ccnc1": [51, 54], "c4ccccc4cl": [51, 52, 54, 55], "oc23": [51, 54], "scc3ccc": [51, 52, 54, 55], "nc2ncnc3nn4ccccc4c23": [51, 54], "cc3o": [51, 54], "ncccn2ccnc2": [51, 54], "c4cncc5ccccc45": [51, 54], "cccc34": [51, 54], "c3cc3": [51, 52, 54, 55], "ncnc2n1": [51, 52, 54, 55], "ccoc1ccccc1nc": [51, 54], "nc1ncnc2ncn": [51, 54], "nccc1ccc": [51, 52, 54, 55], "nccc3ccc": [51, 54], "ccn5ccn": [51, 54], "cscc2ccc": [51, 54], "ccnc2ccnc3oc4ccccc4c23": [51, 54], "c5ccsc5": [51, 52, 54, 55], "c1ccc3": [51, 52, 54, 55], "ccc3c1": [51, 52, 54, 55], "ccncc1nc": [51, 52, 54, 55], "nc2ccnc3": [51, 54], "c4ccccc4c23": [51, 54], "c1cnc2": [51, 54], "ncc2c1": [51, 54], "ccnc1ncc": [51, 54], "cnc1n": [51, 54], "coc1": [51, 52, 54, 55], "c1c1cc2cc": [51, 52, 54, 55], "ccc2n2nnnc12": [51, 52, 54, 55], "nc1ncnc2c1sc1ccccc12": [51, 54], "nc1ncn": [51, 54], "c1c2": [51, 54], "cc1ccccn1c": [51, 54], "n1ccoc2cc3ncnc": [51, 52, 54, 55], "ccoc1ccc2cc": [51, 54], "oc1nnc": [51, 54], "cc2nc3ccccc3": [51, 54], "ccccnc1ncc2cc": [51, 54], "cccc3cl": [51, 52, 54, 55], "cc2nc2ccccc2": [51, 54], "c3ccc3": [51, 54], "n3n": [51, 52, 54, 55], "cc3c3ccc": [51, 52, 54, 55], "cc4cccs4": [51, 54], "ccccn": [51, 52, 54, 55], "coc1cc2nccc": [51, 52, 54, 55], "cn2ccn": [51, 54], "ncc3cccs3": [51, 54], "occn4ccc": [51, 54], "ccc1occ1cccc": [51, 54], "ccccc": [51, 52, 54, 55], "c2cc1cn1cc": [51, 54], "nc3ncc": [51, 54], "coc5no": [51, 54], "cnc1ncc2ncnc": [51, 52, 54, 55], "occ5ccccn5": [51, 52, 54, 55], "nc1ncccn1": [51, 54], "ncc3cccnc3": [51, 52, 55], "c1oc2cc3ncnc": [51, 52, 54, 55], "cccnc1cc2ncnc": [51, 52, 54, 55], "c4scc": [51, 52, 54, 55], "n4nc": [51, 52, 54, 55], "c4f": [51, 52, 54, 55], "c2cc1occcop": [51, 54], "c3ccccc3f": [51, 52, 54, 55], "c2cc1b1oc": [51, 52, 54, 55], "nccc2ccccc2": [51, 54], "nccc1ccccc1": [51, 54], "cc4occc": [51, 52, 54, 55], "cn5ccccc5": [51, 54], "ncnc2cc1occccn1ccnc1": [51, 54], "nc2cc2": [51, 54], "ccc1nc1ncnc2cc": [51, 52, 54, 55], "ncnc1ncc1ccc": [51, 54], "ccccnc1c": [51, 54], "coc2nc": [51, 52, 54, 55], "cccn2ccocc2": [51, 52, 54, 55], "c3ccccc3n2c": [51, 52, 54, 55], "ncnc3o2": [51, 52, 54, 55], "c1c1cc2ccccc2n2nnnc12": [51, 54], "c1cccc2c1occo2": [51, 52, 54, 55], "csc2ccc": [51, 52, 54, 55], "ncnc2cc1occ": [51, 54], "cc2nc": [51, 52, 54, 55], "occn3ccocc3": [51, 54], "ncccn2ccn": [51, 52, 54, 55], "c2cnnc": [51, 52, 54, 55], "ncc3ccncc3": [51, 52, 54, 55], "sc2nc3ccccc3s2": [51, 54], "cc1ccccc1cc1cc2c": [51, 52, 54, 55], "nc2n1c": [51, 52, 54, 55], "oc4cccc5": [51, 52, 54, 55], "ncc45": [51, 52, 54, 55], "oc1ccc2ncnc": [51, 54], "occ4ccccc4": [51, 52, 54, 55], "ccccccccnc": [51, 54], "ON": [51, 52, 54, 55], "1coc1nc": [51, 52, 54, 55], "c3cncc": [51, 52, 54, 55], "ncccn4ccn": [51, 52, 54, 55], "cocc1ccn2ncnc": [51, 52, 54, 55], "ncnc2cc1occ1ccccc1": [51, 52, 54, 55], "scc": [51, 52, 54, 55], "nc3ccccc3cl": [51, 54], "nc3sc": [51, 54], "c2cc1occn1cccc1": [51, 52, 54, 55], "unspecifi": [51, 52, 54, 55], "stereochemistri": [51, 52, 54, 55], "gettitl": [51, 52, 54, 55], "problemat": [51, 52, 54, 55], "num": [51, 52, 54, 55], "idx": [51, 52, 54, 55], "55": [51, 52, 54, 55], "oebondbas": [51, 52, 54, 55], "proxi": [51, 52, 54, 55], "swig": [51, 52, 54, 55], "0x7f81a718b1b0": [51, 52, 54, 55], "0x7f81a718ba20": [51, 52, 54, 55], "0x7f81a7219e40": [51, 52, 54, 55], "0x7f81a7219510": [51, 52, 54, 55], "0x7f81a72194b0": [51, 52, 54, 55], "0x7f81a7219d80": [51, 52, 54, 55], "0x7f81a71e6cc0": [51, 52, 54, 55], "65": [51, 52, 54, 55], "71": [51, 52, 54, 55], "62": [51, 52, 54, 55], "58": [51, 52, 54, 55], "69": [51, 52, 54, 55], "56": [51, 52, 54, 55], "66": [51, 52, 54, 55], "0x7f823cfe34e0": [51, 52, 54, 55], "60": [51, 52, 54, 55], "67": [51, 52, 54, 55], "0x7f823cf485a0": [51, 52, 54, 55], "0x7f823cee94b0": [51, 52, 54, 55], "108": [51, 52, 54, 55], "61": [51, 52, 54, 55], "63": [51, 52, 54, 55], "72": [51, 52, 54, 55], "0x7f823cc5bc00": [51, 52, 54, 55], "0x7f823cc5bcc0": [51, 52, 54, 55], "0x7f823cbb9d20": [51, 52, 54, 55], "0x7f823ccc3b10": [51, 52, 54, 55], "0x7f823c85be70": [51, 52, 54, 55], "0x7f823cabdea0": [51, 52, 54, 55], "couldn": [51, 52, 54, 55], "invalid": [51, 52, 54, 55], "_invalid": [51, 52, 54, 55], "pop": [51, 52, 54, 55], "grouper_str": [51, 52, 54, 55], "grouper_kwarg": [51, 52, 54, 55], "grouper_cl": [51, 52, 54, 55], "issubclass": [51, 52, 54, 55], "isinst": [51, 52, 54, 55], "sorri": [51, 52, 54, 55], "hack": [51, 52, 54, 55], "group_kei": [51, 52, 54, 55], "subkei": [51, 52, 54, 55], "subgroup": [51, 52, 54, 55], "sep": [51, 52, 54, 55], "x_or_i": [51, 52, 54, 55], "notic": [51, 52, 54, 55], "2nd": [51, 52, 54, 55], "random_group": [51, 52, 54, 55], "kv": [51, 52, 54, 55], "depth_limit": [51, 52, 54, 55], "to_parquet": [51, 52, 54, 55], "preview": [51, 52, 54, 55], "var": [51, 52, 54, 55], "int64": [51, 54], "801843": 51, "del": [51, 52, 54, 55], "w": [51, 52, 54, 55], "06t11": [51, 52], "813247": 51, "01": [51, 52, 54, 55], "00": [51, 52, 54, 55], "cpython": [51, 52, 54, 55], "gcc": [51, 52, 54, 55], "linux": [51, 52, 54, 55], "x86_64": [51, 52, 54, 55], "processor": [51, 52, 54, 55], "architectur": [51, 52, 53, 54, 55], "64bit": [51, 52, 54, 55], "hostnam": [51, 52, 54, 55], "aleph": [51, 52, 54, 55], "d2352d6e07d594ed9fd973b544529f89feb82d78": [51, 52, 54, 55], "forg": [51, 52, 54, 55], "aug": [51, 52, 54, 55], "03": [51, 52, 54, 55], "mon": [51, 52, 54, 55], "nov": [51, 52, 54, 55], "525": [51, 52, 54, 55], "147": [51, 52, 54], "driver": [51, 52, 54, 55], "cuda": [51, 52, 54, 55], "gpu": [51, 52, 54, 55], "persist": [51, 52, 54, 55], "disp": [51, 52, 54, 55], "volatil": [51, 52, 54, 55], "uncorr": [51, 52, 54, 55], "ecc": [51, 52, 54, 55], "fan": [51, 52, 54, 55], "temp": [51, 52, 54, 55], "perf": [51, 52, 54, 55], "pwr": [51, 52, 54, 55], "usag": [51, 52, 53, 54, 55], "mig": [51, 52, 54, 55], "geforc": [51, 52, 54, 55], "off": [51, 52, 54, 55], "00000000": [51, 52, 54, 55], "66c": 51, "p8": [51, 52, 54, 55], "22w": [51, 52], "80w": [51, 52, 54], "49mib": [51, 52, 54], "16384mib": [51, 52, 54, 55], "gi": [51, 52, 54, 55], "ci": [51, 52, 54, 55], "pid": [51, 52, 54, 55], "1260": [51, 52, 54], "usr": [51, 52, 54, 55], "xorg": [51, 52, 54, 55], "45mib": [51, 52, 54, 55], "gc": [51, 52, 54, 55], "bin": [51, 52, 54, 55], "content": [51, 52, 54, 55], "trust": [51, 52, 54, 55], "metapackag": [51, 52, 54, 55], "pack": [51, 52, 54, 55], "server": [51, 52, 54, 55], "skeleton": [51, 52, 54, 55], "token": [51, 52, 54, 55], "verifi": [51, 52, 54, 55], "dir": [51, 52, 54, 55], "cio_test": [51, 52, 54, 55], "conda_default_env": [51, 52, 54, 55], "conda_ex": [51, 52, 54, 55], "conda_prefix": [51, 52, 54, 55], "conda_prompt_modifi": [51, 52, 54, 55], "conda_python_ex": [51, 52, 54, 55], "conda_root": [51, 52, 54, 55], "conda_shlvl": [51, 52, 54, 55], "curl_ca_bundl": [51, 52, 54, 55], "ld_preload": [51, 52, 54, 55], "condabin": [51, 52, 54, 55], "sbin": [51, 52, 54, 55], "game": [51, 52, 54, 55], "snap": [51, 52, 54, 55], "pythonhashse": [51, 52, 54, 55], "requests_ca_bundl": [51, 52, 54, 55], "ssl_cert_fil": [51, 52, 54, 55], "xdg_seat_path": [51, 52, 54, 55], "freedesktop": [51, 52, 54, 55], "displaymanag": [51, 52, 54, 55], "seat0": [51, 52, 54, 55], "xdg_session_path": [51, 52, 54, 55], "session1": [51, 52, 54, 55], "channel": [51, 52, 54, 55], "_libgcc_mutex": [51, 52, 54, 55], "conda_forg": [51, 52, 54, 55], "_openmp_mutex": [51, 52, 54, 55], "2_gnu": [51, 52, 54, 55], "_py": [51, 52, 54, 55], "mutex": [51, 52, 54, 55], "gpu_0": [51, 52, 54, 55], "alabast": [51, 52, 54, 55], "pypi_0": [51, 52, 54, 55], "pypi": [51, 52, 54, 55], "ambertool": [51, 52, 54, 55], "py39h7fa913e_4": [51, 52, 54, 55], "amberutil": [51, 52, 54, 55], "ansiwrap": [51, 52, 54, 55], "py_0": [51, 52, 54, 55], "anyio": [51, 52, 54, 55], "py39h06a4308_0": [51, 52, 54, 55], "pyh9f0ad1d_0": [51, 52, 54, 55], "argon2": [51, 52, 54, 55], "cffi": [51, 52, 54, 55], "pyhd3eb1b0_0": [51, 52, 54, 55], "py39h7f8727e_0": [51, 52, 54, 55], "arpack": [51, 52, 54, 55], "nompi_h0baa96a_101": [51, 52, 54, 55], "arrow": [51, 52, 54, 55], "pyhd8ed1ab_0": [51, 52, 54, 55], "asttoken": [51, 52, 54, 55], "astunpars": [51, 52, 54, 55], "async": [51, 52, 54, 55], "lru": [51, 52, 54, 55], "attr": [51, 52, 54, 55], "cpp": [51, 52, 54, 55], "py39h7633fee_0": [51, 52, 54, 55], "aw": [51, 52, 54, 55], "auth": [51, 52, 54, 55], "h1083cbe_2": [51, 52, 54, 55], "cal": [51, 52, 54, 55], "h09139f6_2": [51, 52, 54, 55], "hd590300_0": [51, 52, 54, 55], "compress": [51, 52, 54, 55], "h184a658_3": [51, 52, 54, 55], "event": [51, 52, 54, 55], "stream": [51, 52, 54, 55], "h6fea174_2": [51, 52, 54, 55], "hb59894b_2": [51, 52, 54, 55], "io": [51, 52, 54, 55], "h161b759_0": [51, 52, 54, 55], "mqtt": [51, 52, 54, 55], "h55cd26b_0": [51, 52, 54, 55], "s3": [51, 52, 54, 55], "hfb4bb88_4": [51, 52, 54, 55], "sdkutil": [51, 52, 54, 55], "h184a658_2": [51, 52, 54, 55], "checksum": [51, 52, 54, 55], "crt": [51, 52, 54, 55], "ha28989d_2": [51, 52, 54, 55], "sdk": [51, 52, 54, 55], "156": [51, 52, 54, 55], "h314d761_4": [51, 52, 54, 55], "babel": [51, 52, 54, 55], "backcal": [51, 52, 54, 55], "beautifulsoup4": [51, 52, 54, 55], "biopanda": [51, 52, 54, 55], "pyhd8ed1ab_1": [51, 52, 54, 55], "py39h27cfd23_0": [51, 52, 54, 55], "biotit": [51, 52, 54, 55], "py39h44dd56e_0": [51, 52, 54, 55], "bla": [51, 52, 54, 55], "mkl": [51, 52, 54, 55], "bleach": [51, 52, 54, 55], "blosc": [51, 52, 54, 55], "h0f2a231_0": [51, 52, 54, 55], "bokeh": [51, 52, 54, 55], "py39h2f386ee_0": [51, 52, 54, 55], "bravado": [51, 52, 54, 55], "brotli": [51, 52, 54, 55], "he6710b0_2": [51, 52, 54, 55], "py39h6a678d5_7": [51, 52, 54, 55], "bzip2": [51, 52, 54, 55], "h7b6447c_0": [51, 52, 54, 55], "blosc2": [51, 52, 54, 55], "hb4ffafa_0": [51, 52, 54, 55], "certif": [51, 52, 54, 55], "08": [51, 52, 54, 55], "h06a4308_0": [51, 52, 54, 55], "hd8ed1ab_1": [51, 52, 54, 55], "cached_properti": [51, 52, 54, 55], "pyha770c72_1": [51, 52, 54, 55], "cachetool": [51, 52, 54, 55], "cairo": [51, 52, 54, 55], "h3faef2a_0": [51, 52, 54, 55], "certifi": [51, 52, 54, 55], "py39h5eee18b_3": [51, 52, 54, 55], "cftime": [51, 52, 54, 55], "py39h7deecbd_0": [51, 52, 54, 55], "charset": [51, 52, 54, 55], "click": [51, 52, 54, 55], "cloudpickl": [51, 52, 54, 55], "codecov": [51, 52, 54, 55], "colorama": [51, 52, 54, 55], "comm": [51, 52, 54, 55], "contourpi": [51, 52, 54, 55], "py39hdb19cb5_0": [51, 52, 54, 55], "coverag": [51, 52, 54, 55], "py39h5eee18b_0": [51, 52, 54, 55], "cpuonli": [51, 52, 54, 55], "h70ddcb2_2": [51, 52, 54, 55], "cudatoolkit": [51, 52, 54, 55], "h4ba93d1_12": [51, 52, 54, 55], "cycler": [51, 52, 54, 55], "cytoolz": [51, 52, 54, 55], "jobqueu": [51, 52, 54, 55], "debugpi": [51, 52, 54, 55], "py39h6a678d5_0": [51, 52, 54, 55], "defusedxml": [51, 52, 54, 55], "docker": [51, 52, 54, 55], "pycr": [51, 52, 54, 55], "docutil": [51, 52, 54, 55], "edgembar": [51, 52, 54, 55], "entrypoint": [51, 52, 54, 55], "exceptiongroup": [51, 52, 54, 55], "execnet": [51, 52, 54, 55], "expat": [51, 52, 54, 55], "h6a678d5_0": [51, 52, 54, 55], "fasten": [51, 52, 54, 55], "ffmpeg": [51, 52, 54], "hf484d3e_0": [51, 52, 54], "fftw": [51, 52, 54, 55], "nompi_hc118613_108": [51, 52, 54, 55], "filelock": [51, 52, 54, 55], "font": [51, 52, 54, 55], "ttf": [51, 52, 54, 55], "dejavu": [51, 52, 54, 55], "san": [51, 52, 54, 55], "mono": [51, 52, 54, 55], "hd3eb1b0_0": [51, 52, 54, 55], "inconsolata": [51, 52, 54, 55], "001": [51, 52, 54, 55], "hcb22688_0": [51, 52, 54, 55], "030": [51, 52, 54, 55], "ubuntu": [51, 52, 54, 55], "83": [51, 52, 54, 55], "h8b1ccd4_0": [51, 52, 54, 55], "fontconfig": [51, 52, 54, 55], "h14ed4e7_0": [51, 52, 54, 55], "anaconda": [51, 52, 54, 55], "h8fa9717_0": [51, 52, 54, 55], "fonttool": [51, 52, 54, 55], "fqdn": [51, 52, 54, 55], "freetyp": [51, 52, 54, 55], "h4a9f257_0": [51, 52, 54, 55], "fsspec": [51, 52, 54, 55], "gettext": [51, 52, 54, 55], "h27087fc_0": [51, 52, 54, 55], "gflag": [51, 52, 54, 55], "he6710b0_0": [51, 52, 54, 55], "giflib": [51, 52, 54, 55], "h5eee18b_3": [51, 52, 54, 55], "gitdb": [51, 52, 54, 55], "gitpython": [51, 52, 54, 55], "glog": [51, 52, 54, 55], "h6f12383_0": [51, 52, 54, 55], "gmp": [51, 52, 54, 55], "h295c915_3": [51, 52, 54, 55], "gmpy2": [51, 52, 54, 55], "py39heeb90bb_0": [51, 52, 54, 55], "gnutl": [51, 52, 54], "he1e5248_0": [51, 52, 54], "greenlet": [51, 52, 54, 55], "griddataformat": [51, 52, 54, 55], "gsd": [51, 52, 54, 55], "h5py": [51, 52, 54, 55], "nompi_py39h87cadad_100": [51, 52, 54, 55], "hdf4": [51, 52, 54, 55], "h9772cbc_5": [51, 52, 54, 55], "hdf5": [51, 52, 54, 55], "nompi_h4f84152_100": [51, 52, 54, 55], "heapdict": [51, 52, 54, 55], "icu": [51, 52, 54, 55], "73": [51, 52, 54, 55], "h59595ed_0": [51, 52, 54, 55], "idna": [51, 52, 54, 55], "images": [51, 52, 54, 55], "importlib_metadata": [51, 52, 54, 55], "importlib_resourc": [51, 52, 54, 55], "iniconfig": [51, 52, 54, 55], "intel": [51, 52, 54, 55], "openmp": [51, 52, 54, 55], "hdb19cb5_46305": [51, 52, 54, 55], "ipykernel": [51, 52, 54, 55], "ipython_genutil": [51, 52, 54, 55], "pyhd3eb1b0_1": [51, 52, 54, 55], "isodur": [51, 52, 54, 55], "jedi": [51, 52, 54, 55], "py39h06a4308_1": [51, 52, 54, 55], "jinja2": [51, 52, 54, 55], "joblib": [51, 52, 54, 55], "jpeg": [51, 52, 54, 55], "9e": [51, 52, 54, 55], "h5eee18b_1": [51, 52, 54, 55], "json5": [51, 52, 54, 55], "jsonpoint": [51, 52, 54, 55], "py39hf3d152e_3": [51, 52, 54, 55], "jsonref": [51, 52, 54, 55], "jsonschema": [51, 52, 54, 55], "nongpl": [51, 52, 54, 55], "lsp": [51, 52, 54, 55], "jupyter_cli": [51, 52, 54, 55], "jupyter_cor": [51, 52, 54, 55], "jupyter_ev": [51, 52, 54, 55], "pyhd8ed1ab_2": [51, 52, 54, 55], "jupyter_serv": [51, 52, 54, 55], "jupyter_server_termin": [51, 52, 54, 55], "jupyterlab": [51, 52, 54, 55], "jupyterlab_pyg": [51, 52, 54, 55], "jupyterlab_serv": [51, 52, 54, 55], "jupyterlab_widget": [51, 52, 54, 55], "unknown": [51, 52, 54, 55], "kiwisolv": [51, 52, 54, 55], "krb5": [51, 52, 54, 55], "h143b758_1": [51, 52, 54, 55], "lame": [51, 52, 54], "lcms2": [51, 52, 54, 55], "h3be6417_0": [51, 52, 54, 55], "ld_impl_linux": [51, 52, 54, 55], "h1181459_1": [51, 52, 54, 55], "lerc": [51, 52, 54, 55], "h295c915_0": [51, 52, 54, 55], "libabseil": [51, 52, 54, 55], "20230802": [51, 52, 54, 55], "cxx17_h59595ed_0": [51, 52, 54, 55], "libaec": [51, 52, 54, 55], "h59595ed_1": [51, 52, 54, 55], "libarrow": [51, 52, 54, 55], "h4121bdd_9_cpu": [51, 52, 54, 55], "libbla": [51, 52, 54, 55], "1_h86c2bf4_netlib": [51, 52, 54, 55], "libboost": [51, 52, 54, 55], "82": [51, 52, 54, 55], "h109eef0_2": [51, 52, 54, 55], "py39hda80f44_6": [51, 52, 54, 55], "libbrotlicommon": [51, 52, 54, 55], "hd590300_1": [51, 52, 54, 55], "libbrotlidec": [51, 52, 54, 55], "libbrotlienc": [51, 52, 54, 55], "libcrc32c": [51, 52, 54, 55], "libcurl": [51, 52, 54, 55], "h251f7ec_0": [51, 52, 54, 55], "libdefl": [51, 52, 54, 55], "libedit": [51, 52, 54, 55], "20221030": [51, 52, 54, 55], "h5eee18b_0": [51, 52, 54, 55], "libev": [51, 52, 54, 55], "h7f8727e_1": [51, 52, 54, 55], "hdbd6064_1": [51, 52, 54, 55], "libffi": [51, 52, 54, 55], "libgcc": [51, 52, 54, 55], "ng": [51, 52, 54, 55], "h807b86a_2": [51, 52, 54, 55], "libgfortran": [51, 52, 54, 55], "h69a702a_2": [51, 52, 54, 55], "libgfortran5": [51, 52, 54, 55], "ha4646dd_2": [51, 52, 54, 55], "libglib": [51, 52, 54, 55], "78": [51, 52, 54, 55], "hebfc3b9_0": [51, 52, 54, 55], "libgomp": [51, 52, 54, 55], "libgoogl": [51, 52, 54, 55], "cloud": [51, 52, 54, 55], "h19a6dae_3": [51, 52, 54, 55], "libgrpc": [51, 52, 54, 55], "he06187c_2": [51, 52, 54, 55], "libiconv": [51, 52, 54, 55], "h166bdaf_0": [51, 52, 54, 55], "libidn2": [51, 52, 54], "libjpeg": [51, 52, 54], "turbo": [51, 52, 54], "h9bf148f_0": [51, 52, 54], "liblapack": [51, 52, 54, 55], "5_h92ddd45_netlib": [51, 52, 54, 55], "libnetcdf": [51, 52, 54, 55], "nompi_h80fb2b6_112": [51, 52, 54, 55], "libnghttp2": [51, 52, 54, 55], "h2d74bed_0": [51, 52, 54, 55], "libnsl": [51, 52, 54, 55], "libnuma": [51, 52, 54, 55], "h0b41bf4_1": [51, 52, 54, 55], "libpng": [51, 52, 54, 55], "libprotobuf": [51, 52, 54, 55], "hf27288f_1": [51, 52, 54, 55], "libre2": [51, 52, 54, 55], "h7a70373_0": [51, 52, 54, 55], "libsodium": [51, 52, 54, 55], "libsqlit": [51, 52, 54, 55], "h2797004_0": [51, 52, 54, 55], "libssh2": [51, 52, 54, 55], "hdbd6064_2": [51, 52, 54, 55], "libstdcxx": [51, 52, 54, 55], "h7e041cc_2": [51, 52, 54, 55], "libtasn1": [51, 52, 54], "libthrift": [51, 52, 54, 55], "hb90f79a_1": [51, 52, 54, 55], "libtiff": [51, 52, 54, 55], "libunistr": [51, 52, 54], "h27cfd23_0": [51, 52, 54], "libutf8proc": [51, 52, 54, 55], "libuuid": [51, 52, 54, 55], "h0b41bf4_0": [51, 52, 54, 55], "libwebp": [51, 52, 54, 55], "h11a3e52_0": [51, 52, 54, 55], "libxcb": [51, 52, 54, 55], "h7f8727e_0": [51, 52, 54, 55], "libxgboost": [51, 52, 54, 55], "cuda118h4159b1e_5": [51, 52, 54, 55], "libxml2": [51, 52, 54, 55], "h232c23b_1": [51, 52, 54, 55], "libxslt": [51, 52, 54, 55], "h0054252_1": [51, 52, 54, 55], "libzip": [51, 52, 54, 55], "h2629f0a_3": [51, 52, 54, 55], "libzlib": [51, 52, 54, 55], "hd590300_5": [51, 52, 54, 55], "llvm": [51, 52, 54, 55], "h9e868ea_0": [51, 52, 54, 55], "locket": [51, 52, 54, 55], "lxml": [51, 52, 54, 55], "py39hed45dcc_1": [51, 52, 54, 55], "lz4": [51, 52, 54, 55], "lzo": [51, 52, 54, 55], "h516909a_1000": [51, 52, 54, 55], "markupsaf": [51, 52, 54, 55], "py39he9076e7_2": [51, 52, 54, 55], "inlin": [51, 52, 54, 55], "mda": [51, 52, 54, 55], "xdrlib": [51, 52, 54, 55], "py39h4661b88_1": [51, 52, 54, 55], "mdtraj": [51, 52, 54, 55], "py39h031bd0f_0": [51, 52, 54, 55], "mistun": [51, 52, 54, 55], "py39h27cfd23_1000": [51, 52, 54, 55], "h213fc3f_46343": [51, 52, 54, 55], "servic": [51, 52, 54, 55], "py39h5eee18b_1": [51, 52, 54, 55], "mkl_fft": [51, 52, 54, 55], "mkl_random": [51, 52, 54, 55], "mmpbsa": [51, 52, 54, 55], "mmtf": [51, 52, 54, 55], "monoton": [51, 52, 54, 55], "mpc": [51, 52, 54, 55], "h10f8cd9_1": [51, 52, 54, 55], "mpfr": [51, 52, 54, 55], "hb69a4c5_1": [51, 52, 54, 55], "mpmath": [51, 52, 54, 55], "mrcfile": [51, 52, 54, 55], "msgpack": [51, 52, 54, 55], "py39hd09550d_0": [51, 52, 54, 55], "munkr": [51, 52, 54, 55], "mypy_extens": [51, 52, 54, 55], "nbclassic": [51, 52, 54, 55], "nbclient": [51, 52, 54, 55], "nbconvert": [51, 52, 54, 55], "pandoc": [51, 52, 54, 55], "nbformat": [51, 52, 54, 55], "nbval": [51, 52, 54, 55], "nccl": [51, 52, 54, 55], "h6103f9b_0": [51, 52, 54, 55], "ncurs": [51, 52, 54, 55], "asyncio": [51, 52, 54, 55], "netcdf": [51, 52, 54, 55], "fortran": [51, 52, 54, 55], "nompi_hacb5139_102": [51, 52, 54, 55], "netcdf4": [51, 52, 54, 55], "nompi_py39h4282601_103": [51, 52, 54, 55], "nettl": [51, 52, 54], "hbbd107a_1": [51, 52, 54], "networkx": [51, 52, 54, 55], "nglview": [51, 52, 54, 55], "pyh1da8cd4_0": [51, 52, 54, 55], "shim": [51, 52, 54, 55], "py39hde0f152_1": [51, 52, 54, 55], "py39h5f9d8c6_0": [51, 52, 54, 55], "py39hb5e798b_0": [51, 52, 54, 55], "ocl": [51, 52, 54, 55], "icd": [51, 52, 54, 55], "h7f98852_0": [51, 52, 54, 55], "py39_0": [51, 52, 54, 55], "amber": [51, 52, 54, 55], "ff": [51, 52, 54, 55], "port": [51, 52, 54, 55], "pyh6c4a22f_0": [51, 52, 54, 55], "forcefield": [51, 52, 54, 55], "pyh1a96a4e_0": [51, 52, 54, 55], "interchang": [51, 52, 54, 55], "pyh1a96a4e_1": [51, 52, 54, 55], "openh264": [51, 52, 54], "h4ff587b_0": [51, 52, 54], "openjpeg": [51, 52, 54, 55], "h3ad879b_0": [51, 52, 54, 55], "py39he81762f_3": [51, 52, 54, 55], "openssl": [51, 52, 54, 55], "orc": [51, 52, 54, 55], "h208142c_3": [51, 52, 54, 55], "overrid": [51, 52, 54, 55], "packmol": [51, 52, 54, 55], "010": [51, 52, 54, 55], "h86c2bf4_0": [51, 52, 54, 55], "memgen": [51, 52, 54, 55], "py39hddac248_1": [51, 52, 54, 55], "h32600fe_2": [51, 52, 54, 55], "pandocfilt": [51, 52, 54, 55], "panedr": [51, 52, 54, 55], "parm": [51, 52, 54, 55], "py39h227be39_0": [51, 52, 54, 55], "parso": [51, 52, 54, 55], "partd": [51, 52, 54, 55], "pathspec": [51, 52, 54, 55], "pathtool": [51, 52, 54, 55], "pbr": [51, 52, 54, 55], "pcre2": [51, 52, 54, 55], "hc3806b6_0": [51, 52, 54, 55], "pdb4amber": [51, 52, 54, 55], "4_hd590300_perl5": [51, 52, 54, 55], "pexpect": [51, 52, 54, 55], "pyhd3eb1b0_3": [51, 52, 54, 55], "pickleshar": [51, 52, 54, 55], "pyhd3eb1b0_1003": [51, 52, 54, 55], "pillow": [51, 52, 54, 55], "py39ha6cbd5a_0": [51, 52, 54, 55], "pixman": [51, 52, 54, 55], "pkgutil": [51, 52, 54, 55], "platformdir": [51, 52, 54, 55], "pluggi": [51, 52, 54, 55], "prometheus_cli": [51, 52, 54, 55], "prompt": [51, 52, 54, 55], "protobuf": [51, 52, 54, 55], "psutil": [51, 52, 54, 55], "ptyprocess": [51, 52, 54, 55], "pyhd3eb1b0_2": [51, 52, 54, 55], "pure_ev": [51, 52, 54, 55], "cpuinfo": [51, 52, 54, 55], "cuda118py39h6e70402_5": [51, 52, 54, 55], "pyarrow": [51, 52, 54, 55], "py39h6925388_9_cpu": [51, 52, 54, 55], "pycairo": [51, 52, 54, 55], "py39h287db57_0": [51, 52, 54, 55], "pycpars": [51, 52, 54, 55], "pydant": [51, 52, 54, 55], "py39hd1e30aa_0": [51, 52, 54, 55], "pyedr": [51, 52, 54, 55], "pyg": [51, 52, 54, 55], "py39_torch_2": [51, 52, 54, 55], "0_cpu": [51, 52, 54, 55], "pygment": [51, 52, 54, 55], "pymsmt": [51, 52, 54, 55], "pypars": [51, 52, 54, 55], "pyrsist": [51, 52, 54, 55], "py39heee7806_0": [51, 52, 54, 55], "pysock": [51, 52, 54, 55], "pytabl": [51, 52, 54, 55], "py39hfbd31a7_0": [51, 52, 54, 55], "pytest": [51, 52, 54, 55], "cov": [51, 52, 54, 55], "xdist": [51, 52, 54, 55], "h0755675_0_cpython": [51, 52, 54, 55], "constraint": [51, 52, 54, 55], "dateutil": [51, 52, 54, 55], "fastjsonschema": [51, 52, 54, 55], "lmdb": [51, 52, 54, 55], "tzdata": [51, 52, 54, 55], "python_abi": [51, 52, 54, 55], "4_cp39": [51, 52, 54, 55], "py3": [51, 52, 54, 55], "9_cpu_0": [51, 52, 54, 55], "pytraj": [51, 52, 54, 55], "pytz": [51, 52, 54, 55], "post1": [51, 52, 54, 55], "pyyaml": [51, 52, 54, 55], "pyzmq": [51, 52, 54, 55], "py39hb257651_1": [51, 52, 54, 55], "09": [51, 52, 54, 55], "py39hce5ca95_0": [51, 52, 54, 55], "rdma": [51, 52, 54, 55], "re2": [51, 52, 54, 55], "h2873b5e_0": [51, 52, 54, 55], "readlin": [51, 52, 54, 55], "referenc": [51, 52, 54, 55], "reportlab": [51, 52, 54, 55], "py39hfdd840d_1": [51, 52, 54, 55], "rfc3339": [51, 52, 54, 55], "rfc3986": [51, 52, 54, 55], "rpd": [51, 52, 54, 55], "py39h9fdd4d6_0": [51, 52, 54, 55], "ruamel": [51, 52, 54, 55], "clib": [51, 52, 54, 55], "s2n": [51, 52, 54, 55], "h06160fa_0": [51, 52, 54, 55], "sander": [51, 52, 54, 55], "py39h1128e8f_0": [51, 52, 54, 55], "seaborn": [51, 52, 54, 55], "send2trash": [51, 52, 54, 55], "pyh41d4057_0": [51, 52, 54, 55], "sentri": [51, 52, 54, 55], "setproctitl": [51, 52, 54, 55], "setuptool": [51, 52, 54, 55], "simplejson": [51, 52, 54, 55], "six": [51, 52, 54, 55], "smirnoff99frosst": [51, 52, 54, 55], "pyh44b312d_0": [51, 52, 54, 55], "smmap": [51, 52, 54, 55], "snappi": [51, 52, 54, 55], "h9fff704_0": [51, 52, 54, 55], "sniffio": [51, 52, 54, 55], "snowballstemm": [51, 52, 54, 55], "sortedcontain": [51, 52, 54, 55], "soupsiev": [51, 52, 54, 55], "sphinx": [51, 52, 54, 55], "sphinxcontrib": [51, 52, 54, 55], "applehelp": [51, 52, 54, 55], "devhelp": [51, 52, 54, 55], "htmlhelp": [51, 52, 54, 55], "jsmath": [51, 52, 54, 55], "qthelp": [51, 52, 54, 55], "serializinghtml": [51, 52, 54, 55], "sqlalchemi": [51, 52, 54, 55], "stack_data": [51, 52, 54, 55], "swagger": [51, 52, 54, 55], "spec": [51, 52, 54, 55], "sympi": [51, 52, 54, 55], "tbb": [51, 52, 54, 55], "2021": [51, 52, 54, 55], "hdb19cb5_0": [51, 52, 54, 55], "tblib": [51, 52, 54, 55], "tenac": [51, 52, 54, 55], "terminado": [51, 52, 54, 55], "textwrap3": [51, 52, 54, 55], "threadpoolctl": [51, 52, 54, 55], "pyh0d69192_0": [51, 52, 54, 55], "tidynam": [51, 52, 54, 55], "tinycss2": [51, 52, 54, 55], "tk": [51, 52, 54, 55], "toml": [51, 52, 54, 55], "tomli": [51, 52, 54, 55], "toolz": [51, 52, 54, 55], "torchaudio": [51, 52, 54], "py39_cpu": [51, 52, 54], "torchmetr": [51, 52, 54, 55], "py39h2f386ee_1": [51, 52, 54, 55], "torchvis": [51, 52, 54, 55], "tornado": [51, 52, 54, 55], "tqdm": [51, 52, 54, 55], "traitlet": [51, 52, 54, 55], "typing_extens": [51, 52, 54, 55], "typing_util": [51, 52, 54, 55], "2023c": [51, 52, 54, 55], "h04d1e81_0": [51, 52, 54, 55], "ucx": [51, 52, 54, 55], "h64cca9d_0": [51, 52, 54, 55], "uri": [51, 52, 54, 55], "urllib3": [51, 52, 54, 55], "wandb": [51, 52, 54, 55], "wcwidth": [51, 52, 54, 55], "webcolor": [51, 52, 54, 55], "webencod": [51, 52, 54, 55], "websocket": [51, 52, 54, 55], "py39h06a4308_4": [51, 52, 54, 55], "wheel": [51, 52, 54, 55], "widgetsnbextens": [51, 52, 54, 55], "xmltodict": [51, 52, 54, 55], "kbproto": [51, 52, 54, 55], "h7f98852_1002": [51, 52, 54, 55], "libic": [51, 52, 54, 55], "libsm": [51, 52, 54, 55], "h7391055_0": [51, 52, 54, 55], "libx11": [51, 52, 54, 55], "h8ee46fc_0": [51, 52, 54, 55], "libxext": [51, 52, 54, 55], "h0b41bf4_2": [51, 52, 54, 55], "libxrend": [51, 52, 54, 55], "libxt": [51, 52, 54, 55], "renderproto": [51, 52, 54, 55], "xextproto": [51, 52, 54, 55], "h0b41bf4_1003": [51, 52, 54, 55], "xproto": [51, 52, 54, 55], "h27cfd23_1007": [51, 52, 54, 55], "xyzservic": [51, 52, 54, 55], "2022": [51, 52, 54, 55], "xz": [51, 52, 54, 55], "zeromq": [51, 52, 54, 55], "h2531618_0": [51, 52, 54, 55], "zict": [51, 52, 54, 55], "zipp": [51, 52, 54, 55], "zlib": [51, 52, 54, 55], "zstd": [51, 52, 54, 55], "hc292b87_0": [51, 52, 54, 55], "stderr": [51, 52, 54, 55], "txt": [51, 52, 54, 55], "hparam": [51, 52, 54, 55], "dump": [51, 52, 54, 55], "indent": [51, 52, 54, 55], "sublass": [51, 52, 54, 55], "minibatch": [51, 52, 54, 55], "through": [51, 52, 54, 55], "parquet_loader_cl": [51, 52, 54, 55], "parquet_fil": [51, 52, 54, 55], "model_cl": [51, 52, 54, 55], "model_kwarg": [51, 52, 54, 55], "adam": [51, 52, 54, 55], "optimizer_kwarg": [51, 52, 54, 55], "ep": [51, 52, 54, 55], "beta": [51, 52, 54, 55], "999": [51, 52, 54, 55], "applic": [51, 52, 53, 54, 55], "max_epoch": [51, 52, 54, 55], "halv": [51, 52, 54, 55], "builtin": [51, 52, 54, 55], "stopper": [51, 52, 54, 55], "early_stopping_kwarg": [51, 52, 54, 55], "dataloader_cl": [51, 52, 54, 55], "torch_geometr": [51, 52, 54, 55], "batch_siz": [51, 52, 54, 55], "shuffle_split": [51, 52, 54, 55], "n_bootstrap": [51, 52, 54, 55], "bootstrap_sample_ratio": [51, 52, 54, 55], "statement": [51, 52, 53, 54, 55], "features_stor": [51, 52, 54, 55], "strftime": [51, 52, 54, 55], "20231106": [51, 52, 54, 55], "111956": 51, "hyperparamet": [51, 52, 54, 55], "shutil": [51, 52, 54, 55], "markdown": [51, 52, 54, 55], "subsetrandomsampl": [51, 52, 54, 55], "trang": [51, 52, 54, 55], "everi": [47, 51, 52, 54, 55], "953210": 51, "parquetloadercl": [51, 52, 54, 55], "did": [51, 52, 54, 55], "stem": [51, 52, 54, 55], "extern": [51, 52, 54, 55], "situ": [51, 52, 54, 55], "block": [51, 52, 54, 55], "train_indic": [51, 52, 54, 55], "test_indic": [51, 52, 54, 55], "dataset_s": [51, 52, 54, 55], "floor": [51, 52, 54, 55], "split2": [51, 52, 54, 55], "val_indic": [51, 52, 54, 55], "creation": [51, 52, 54, 55], "importerror": [51, 52, 54, 55], "pt": [51, 52, 54, 55], "sampler": [51, 52, 54, 55], "loader": [51, 52, 54, 55], "train_sampl": [51, 52, 54, 55], "test_sampl": [51, 52, 54, 55], "val_sampl": [51, 52, 54, 55], "modelcl": [51, 52, 54, 55], "onlt": [51, 52, 54, 55], "a_dataload": [51, 52, 54, 55], "x_sampl": [51, 52, 54, 55], "lr_schedul": [51, 52, 54, 55], "early_stop": [51, 52, 54, 55], "train_loss_timeseri": [51, 52, 54, 55], "val_loss_timeseri": [51, 52, 54, 55], "range_epoch": [51, 52, 54, 55], "desc": [51, 52, 54, 55], "train_loss": [51, 52, 54, 55], "mtype_class": [51, 52, 54, 55], "zero_grad": [51, 52, 54, 55], "view_a": [51, 52, 54, 55], "no_grad": [51, 52, 54, 55], "set_descript": [51, 52, 54, 55], "avg": [51, 52, 54, 55], "2e": [51, 52, 54, 55], "ttype": [51, 52, 54, 55], "mtype": [51, 52, 54, 55], "obs_model": [51, 52, 54, 55], "batch_sampl": [51, 52, 54, 55], "detach": [51, 52, 54, 55], "perf_data": [51, 52, 54, 55], "perfkei": [51, 52, 54, 55], "1517": 51, "0156": 51, "95ci": [51, 52, 54, 55], "1304": 51, "1815": 51, "0405": 51, "0118": 51, "0268": [51, 52], "0615": 51, "9755": 51, "0085": [51, 54], "9592": 51, "9863": 51, "1992": 51, "0284": 51, "1637": 51, "2481": [51, 55], "1656": 51, "0273": 51, "1315": 51, "2145": 51, "0552": 51, "0213": 51, "0285": [51, 55], "0928": 51, "9643": 51, "0180": 51, "9329": 51, "9850": 51, "2306": 51, "0444": 51, "1689": 51, "3046": 51, "1420": 51, "0165": 51, "1117": 51, "1626": 51, "0278": [51, 54, 55], "0053": 51, "0188": [51, 55], "0354": 51, "9825": [51, 52], "0058": [51, 54], "9709": [51, 55], "9899": 51, "1661": 51, "0158": [51, 54], "1372": 51, "1881": 51, "1714": 51, "0509": 51, "1068": 51, "2590": [51, 54], "1316": 51, "1039": 51, "0179": 51, "2765": 51, "9044": 51, "0820": 51, "7492": 51, "9884": [51, 55], "3301": 51, "1505": 51, "1338": 51, "5255": 51, "1131": 51, "0241": 51, "0756": 51, "1492": 51, "0230": 51, "0090": 51, "0098": 51, "0375": 51, "9742": [51, 55], "9458": 51, "9931": 51, "1486": 51, "0307": 51, "0988": 51, "1936": 51, "1971": 51, "0956": 51, "3567": 51, "1763": 51, "2036": 51, "0145": 51, "4992": 51, "8773": 51, "1545": 51, "5845": 51, "9927": 51, "3484": 51, "2344": 51, "1205": 51, "7065": 51, "0986": 51, "0028": [51, 54], "0949": 51, "1041": 51, "0232": 51, "0022": 51, "0197": 51, "0271": 51, "9886": 51, "0011": 51, "9868": 51, "9905": 51, "1521": 51, "0072": [51, 55], "1405": 51, "1645": 51, "0958": 51, "0037": 51, "0894": 51, "1012": 51, "0209": [51, 52], "0031": 51, "0168": 51, "0264": 51, "9897": 51, "0015": 51, "9866": 51, "9917": 51, "1443": 51, "0103": 51, "1297": 51, "1625": 51, "1014": 51, "0042": 51, "0942": 51, "1081": 51, "0250": 51, "0030": 51, "0210": 51, "9876": 51, "9852": 51, "9898": 51, "1579": 51, "0093": [51, 55], "1450": 51, "1752": 51, "kinase_metr": [51, 52, 54, 55], "0x7f8edabf6700": 51, "0x7f8f1c8dfdc0": 51, "07": [51, 52, 54, 55], "null": [51, 52, 54, 55], "mtype_nam": [51, 52, 54, 55], "mtype_metr": [51, 52, 54, 55], "r2_mean": [51, 52, 54, 55], "from_dict": [51, 52, 54, 55], "option_context": [51, 52, 54, 55], "float_format": [51, 52, 54, 55], "3f": [51, 52, 54, 55], "max_row": [51, 52, 54, 55], "background_gradi": [51, 52, 54, 55], "vmin": [51, 52, 54, 55], "vmax": [51, 52, 54, 55], "bold": [51, 52, 54, 55], "nbsp": [51, 52, 54, 55], "mae_mean": [51, 52, 54, 55], "mae_std": [51, 52, 54, 55], "mse_mean": [51, 52, 54, 55], "mse_std": [51, 52, 54, 55], "r2_std": [51, 52, 54, 55], "rmse_mean": [51, 52, 54, 55], "rmse_std": [51, 52, 54, 55], "171354": 51, "050882": 51, "131602": 51, "103863": 51, "904425": 51, "082038": 51, "330101": 51, "150450": 51, "113124": 51, "024133": 51, "023022": 51, "009033": 51, "974214": 51, "018832": 51, "148586": 51, "030724": 51, "197148": 51, "095639": 51, "176305": 51, "203629": 51, "877330": 51, "154457": 51, "348369": 51, "234402": 51, "098623": 51, "002775": 51, "023180": 51, "002191": 51, "988560": 51, "001148": 51, "152080": 51, "007163": 51, "095773": 51, "003727": 51, "020917": 51, "003052": 51, "989684": 51, "001541": 51, "144260": 51, "010307": 51, "101449": 51, "004210": 51, "025005": 51, "002957": 51, "987612": 51, "001511": 51, "157857": 51, "009277": 51, "151723": 51, "015551": 51, "040471": 51, "011848": 51, "975526": 51, "008465": 51, "199162": 51, "028375": 51, "165639": 51, "027311": 51, "055162": 51, "021314": 51, "964320": 51, "017950": 51, "230625": 51, "044431": 51, "142010": 51, "016460": 51, "027829": 51, "005251": 51, "982479": 51, "005789": 51, "166069": 51, "015818": 51, "451640": 51, "457489": 51, "67c": 51, "ligand__onehotsmilesfeaturizer__padfeaturizer_shap": [52, 55], "auto__kinase__onehotencodedsequencefeaturizer__padfeaturizer_shap": 52, "080592": 52, "ey": 52, "947": [52, 55], "995": [52, 55], "000000": [52, 55], "996": [52, 55], "853872": [52, 55], "997": [52, 55], "795880": [52, 55], "998": [52, 55], "744727": [52, 55], "793174": [52, 55], "cnn4cc4cccnc4": [52, 55], "ncc3ccc": [52, 55], "c4cccnc4": [52, 55], "c2cl": [52, 55], "ccc3cccc4ccccc34": [52, 55], "ncnc2cc1occccccn1ccnc1": [52, 54, 55], "nc2ccccc2nc": [52, 55], "n1cccoc2cc3ncnc": [52, 54, 55], "c2cc1occccccn1ccnc1": [52, 55], "csc1nc2cc": [52, 55], "ccc2s1": [52, 55], "c2cncnc2": [52, 54, 55], "cccccnc1c": [52, 55], "cc1cccc2nc": [52, 55], "sc3cccc4ccccc34": [52, 55], "c1c1c": [52, 54, 55], "c1cl": [52, 54, 55], "ncccc1ccccc1": [52, 55], "nn3": [52, 55], "occn2ccccc2": [52, 55], "c2ccccc2c2oc3c": [52, 55], "c1ccccc1c3": [52, 55], "c2cn3ccnc3c": [52, 55], "oc3ccc4": [52, 55], "cc4c3f": [52, 55], "cc1nc1ncc": [52, 54, 55], "c2cnn3ccccc23": [52, 54, 55], "n2ccc3ncnc": [52, 55], "nc3ncccn3": [52, 55], "ncccn5ccocc5": [52, 55], "cn1cnc2c": [52, 54, 55], "nocco": [52, 54, 55], "coc1ccccc1cnc1ccc2ncnc": [52, 55], "c1ccccc1nc1nc": [52, 55], "ncc1cl": [52, 55], "c2ccc3cc": [52, 55], "occccop": [52, 55], "coc1ccccc1c": [52, 54, 55], "c3ccccc3oc": [52, 55], "12co": [52, 55], "ccoc2ccc3c": [52, 55], "cn3cccccc2ccc": [52, 55], "c3cnn": [52, 55], "cnc2n": [52, 55], "ncn3": [52, 54, 55], "cc1ccc2c": [52, 55], "nc3nc": [52, 55], "csc4nnnn4": [52, 55], "c2cnc": [52, 55], "nc4ccn": [52, 55], "nc2n1c1cccc1": [52, 55], "coc1ccccc1cnc1ncc": [52, 55], "nc2ccn": [52, 55], "nc2cccc2": [52, 55], "ccn1cnc2c": [52, 55], "3cccc": [52, 55], "3n": [52, 55], "oc3ccccc3": [52, 55], "cn2c1cccc1": [52, 55], "cnc23": [52, 55], "c1nc2ccccc2s1": [52, 55], "c4cn3": [52, 55], "cc1coc2nc": [52, 54, 55], "oc1cc": [52, 55], "ccccncc1ccc": [52, 55], "cc5cccn5": [52, 55], "nc3ccncc3": [52, 55], "c2cc1occcn1cccc1": [52, 55], "nc4ncnc": [52, 55], "c43": [52, 55], "occcco5": [52, 55], "ccnc1coc1ccc": [52, 55], "c1nccc2cc": [52, 55], "oc2c": [52, 55], "cc2br": [52, 55], "cocccoc1cc2ncnc": [52, 55], "nccn1ccocc1": [52, 55], "oc2ccccc21": [52, 55], "cc32": [52, 54, 55], "c2c1cccc2": [52, 55], "ncccn4ccocc4": [52, 55], "ncccn1c": [52, 55], "coc1cc2cnnc": [52, 55], "nc1cccc2ncnc": [52, 54, 55], "nc2nc2ccc": [52, 55], "on1": [52, 55], "oc1ccccc1": [52, 55], "ncc2cccnc2": [52, 55], "c2ccccc2n1": [52, 55], "occ3ccccn3": [52, 55], "sc4cccc": [52, 55], "n5cccn": [52, 55], "cc1c1ccccc1f": [52, 55], "brc1cc2c": [52, 54, 55], "c2cc1n": [52, 54, 55], "cccccc": [52, 55], "ccc2oc": [52, 55], "ncnc2cc1ccccn1ccocc1": [52, 55], "nc3ccccn3": [52, 55], "fc1c": [52, 55], "ccncc1cc": [52, 55], "sccnc": [52, 55], "c4nccs4": [52, 55], "c2csc3ncnc": [52, 55], "nc1ncnc2c1cnn2": [52, 55], "c2ccnc3ccc": [52, 55], "coc3no": [52, 54, 55], "c1cccc2c": [52, 55], "cccc12": [52, 55], "cccnn1c": [52, 55], "c3c4cccc": [52, 54, 55], "c4n": [52, 54, 55], "c4oc": [52, 54, 55], "c4o": [52, 54, 55], "c3c3": [52, 54, 55], "cccc4c23": [52, 54, 55], "c1cnc2ccc": [52, 54, 55], "c2cc1occcnccn": [52, 55], "ccc3n2c": [52, 55], "ccoccoc1cc2ncnc": [52, 55], "nc1nnc": [52, 55], "c2cc1oc1ccn": [52, 55], "n1ccc2cc": [52, 55], "c4cccc4": [52, 55], "n5ccscc5": [52, 55], "ncnc2cc1scccn": [52, 54, 55], "oc6ccccn6": [52, 55], "cccc5c4": [52, 55], "occcnc1cncc": [52, 55], "nc3cnc4ccccc4c3": [52, 55], "nc3cc4ccccc4cc3c2": [52, 55], "brc1ccc": [52, 55], "oc3cc": [52, 55], "nccn1c": [52, 55], "fc1cc": [52, 55], "c1sc2ncnc3c2c1": [52, 55], "c4cn": [52, 55], "c5ccccc5oc": [52, 55], "cnc1ccc": [52, 54, 55], "c2ncnc3occ": [52, 55], "c3ccnc": [52, 55], "3ccccn": [52, 55], "cn5cc4ccccc4": [52, 55], "cc2cn1": [52, 55], "occn4ccocc4": [52, 54, 55], "cccnc2cc3ncnc": [52, 55], "c3cn2": [52, 55], "ncccoc5no": [52, 55], "ncnc2cc1occcn1ccccc1": [52, 55], "c3ccccc3n2": [52, 55], "cn3c": [52, 54, 55], "1cccn1c": [52, 55], "cc1ccc2nc": [52, 55], "ccnc2ncnc3ccccc23": [52, 55], "c1c2ccc": [52, 55], "cocccn1ccc": [52, 55], "c4ccc5nc": [52, 55], "cc6ccccc6cl": [52, 55], "c5c4": [52, 55], "cncc6ccccc6": [52, 55], "1cccn1cc1cc2c": [52, 55], "ccc3cccc3": [52, 55], "sc1c": [52, 55], "nc2ncc3ncc": [52, 55], "occ5nccc": [52, 55], "c5c": [52, 55], "n2ccnc2": [52, 55], "cnc1ccc2c": [52, 55], "c6c": [52, 55], "cccc6f": [52, 55], "c2cc1occcn1cc": [52, 55], "ccccccccccnc": [52, 55], "occc1nc": [52, 55], "oc4ccc": [52, 55], "cnc3cc4cc": [52, 55], "occn5ccocc5": [52, 55], "cc4cc23": [52, 55], "cccc3ccccc3": [52, 55], "ccoc1c": [52, 55], "c2c3c": [52, 55], "oc2c2ccccc12": [52, 55], "n2c3": [52, 55], "nccccn3c": [52, 55], "3o": [52, 54, 55], "2oc": [52, 54, 55], "n2c4ccccc4c4c5c": [52, 54, 55], "c6c7ccccc7n3c6c42": [52, 54, 55], "nc5": [52, 54, 55], "ccccccccoc": [52, 55], "c2ccc3cn": [52, 55], "cn1ncc2cc": [52, 54, 55], "cn5ccc": [52, 54, 55], "occn1ccocc1": [52, 55], "nc3ncncc3c": [52, 55], "cc3cc": [52, 55], "nc1nc2nc": [52, 55], "ncc2cc1": [52, 55], "nc1ccccc1oc1nc": [52, 55], "ccc3ccccc3cl": [52, 55], "cccn2c1nc": [52, 54, 55], "nc2oc": [52, 54, 55], "occn4ccnc4": [52, 55], "occccccc": [52, 55], "n3ccocc3": [52, 55], "c2cnn3cc": [52, 55], "occn5ccccc5": [52, 55], "n5cc": [52, 55], "ccccccnc": [52, 55], "c1nc2ncnc": [52, 55], "nccn2ccocc2": [52, 55], "c3ccc4c": [52, 55], "nn2c2ccccc2": [52, 55], "nn1c": [52, 54, 55], "nc2ccccc2c1": [52, 55], "coc2": [52, 55], "csc2ccccc2c": [52, 55], "ncccn1ccocc1": [52, 55], "coc1ccc2": [52, 55], "c3c2c1": [52, 55], "ccc3ccccn3": [52, 55], "cscc2ccccc2cl": [52, 55], "c1nc2ccccc2": [52, 55], "ncnc2o1": [52, 55], "occ4cc4": [52, 55], "nc2cncc": [52, 55], "clc1ccc2nc": [52, 55], "csc1nc": [52, 55], "cnc1ccc2ncncc2c1": [52, 55], "oco4": [52, 55], "ncc2c": [52, 55], "c1ccccc1oc": [52, 55], "nn2cc1ccncc1": [52, 55], "nccc5ccc": [52, 55], "sc2cccc3": [52, 55], "nc2ccccn2": [52, 55], "n5ccc6": [52, 55], "nn2cc1cccn1": [52, 55], "cc1n1cccn": [52, 55], "cnc1ccc2ncnc": [52, 54, 55], "c2ccc3nccnc3c2": [52, 55], "sc3cccc": [52, 55], "clc1ccc2ncnc": [52, 55], "c3cccc4": [52, 55], "cccn1cc2cc3c": [52, 55], "ncnc3cc21": [52, 55], "cc1cc2": [52, 54, 55], "c3c2cc1o": [52, 54, 55], "cc1oc2ncnc": [52, 55], "ccn2c1nc": [52, 55], "c1f": [52, 55], "oc4cc": [52, 55], "ncn4": [52, 55], "cccc1": [52, 54, 55], "occo3": [52, 55], "oc1c": [52, 55], "cccc1cn": [52, 55], "c2ccn3ccnc3c2": [52, 55], "ccn4c": [52, 55], "occcco": [52, 55], "21c": [52, 55], "nc1ncccc1br": [52, 55], "ccnc1cc": [52, 55], "cnc3c": [52, 55], "cc2c1": [52, 55], "scc1cnc": [52, 55], "n1cc2ccc": [52, 55], "n4ccncc4": [52, 55], "c4c5cccc": [52, 55], "c5n": [52, 55], "c5oc": [52, 55], "c5o": [52, 55], "c4c4": [52, 55], "cccc5c34": [52, 55], "csc": [52, 55], "cnc2cc1oc": [52, 55], "cnc2ccnc3oc4ccccc4c23": [52, 55], "c3nnc": [52, 55], "1o": [52, 55], "ccc4c3": [52, 55], "c2s1": [52, 55], "2coc": [52, 55], "3ccnc3": [52, 55], "oc2nc3ccc": [52, 55], "cc3cc2": [52, 55], "oc1cc2c": [52, 55], "1c3ccc": [52, 55], "c3oc": [52, 55], "ncnc2cc1occoccoccnc": [52, 55], "cc1cnc2cc3c": [52, 54, 55], "cc2c1nc1cccc": [52, 54, 55], "occco3": [52, 55], "cc1cn": [52, 55], "ccoc1ccc2ncnc": [52, 55], "c2ccc3ncccc3c2": [52, 55], "occccc": [52, 55], "coc2ccc3ncnc": [52, 55], "cccccoc1cc2c": [52, 55], "n4ccocc4": [52, 54, 55], "c4ccnc": [52, 54, 55], "c1ccss1": [52, 55], "ncc3cc": [52, 55], "n5cnc": [52, 55], "ccc3c": [52, 55], "occcc1nc": [52, 55], "c2nc3cc": [52, 54, 55], "cc1cccnc1": [52, 55], "nc4ccccn4": [52, 55], "nc3nccs3": [52, 55], "ccccn1c": [52, 55], "occcn2ccnc2": [52, 55], "ncnc2cc1c": [52, 54, 55], "c3ccccc3br": [52, 55], "cc1cc2ncnc": [52, 55], "nc1ccccc1cl": [52, 55], "c2cc1occ1ccn": [52, 54, 55], "nc2cccc3": [52, 55], "c2ccc3ncc": [52, 54, 55], "c1cc2ccccc2nc1oc1ccccc1": [52, 55], "c3cnc4": [52, 55], "cc1n1cc": [52, 54, 55], "cocc1cccn1cc": [52, 55], "ccnc1ccc2c": [52, 55], "coc1ccccc1nc1ccnc": [52, 55], "nc2ccccc2oc": [52, 55], "c4ccccc4c": [52, 55], "cc1coc2ncnc": [52, 55], "c3ccccc3c": [52, 55], "sc2ccc": [52, 55], "ccc1occ": [52, 55], "ncnc2cc1occoc": [52, 54, 55], "nc2nc3c": [52, 55], "c5ccccc45": [52, 55], "csc1cccnc1": [52, 55], "cc1cnc2c": [52, 55], "cnccco": [52, 55], "nc2ncnn3c": [52, 55], "occ5ccc": [52, 55], "cnc3nnc": [52, 55], "n3ccccc3": [52, 55], "nc1cccnc1": [52, 55], "ccoc1ccc2sc": [52, 55], "scc3cc": [52, 55], "c3o": [52, 55], "n1ccc2": [52, 55], "occo2": [52, 55], "c2cc1cnc": [52, 55], "1ccccn1c": [52, 55], "ccccnc2ncc3cc": [52, 55], "109": [52, 55], "float64": [52, 53], "583477": 52, "592225": 52, "62c": [52, 54], "21w": [52, 54], "70": 52, "110802": 52, "674800": 52, "76": 52, "counter": [52, 54, 55], "2532": 52, "0440": 52, "1840": 52, "3351": 52, "1022": 52, "0617": 52, "1525": 52, "9303": [52, 54], "0414": 52, "8451": 52, "9739": 52, "3168": 52, "0428": 52, "2484": 52, "3905": 52, "2502": 52, "0478": 52, "1741": 52, "3270": 52, "0899": 52, "0248": [52, 55], "0481": 52, "1287": 52, "9256": 52, "0927": 52, "7208": 52, "9744": 52, "2965": 52, "0442": 52, "2193": 52, "3587": 52, "2407": 52, "0668": 52, "1341": 52, "3498": 52, "1029": 52, "0430": 52, "0386": 52, "1756": 52, "8805": 52, "1336": 52, "6998": 52, "9789": 52, "3131": 52, "0702": 52, "1965": [52, 54], "4191": 52, "2184": 52, "0412": 52, "1494": 52, "2931": 52, "0677": 52, "0226": 52, "0337": 52, "1112": 52, "9445": 52, "0340": 52, "8591": 52, "9810": 52, "2566": 52, "0429": 52, "1835": 52, "3335": 52, "2151": 52, "0706": 52, "3471": 52, "0725": 52, "0384": 52, "0157": 52, "1419": 52, "8086": 52, "5423": 52, "6794": 52, "2586": 52, "0750": 52, "1254": 52, "3767": 52, "2254": [52, 55], "0468": 52, "1542": 52, "3018": 52, "0647": 52, "0275": 52, "0300": 52, "1120": 52, "7618": 52, "2603": 52, "0136": 52, "9874": 52, "2488": 52, "0531": 52, "1732": 52, "3347": 52, "4567": 52, "0149": 52, "4344": 52, "4844": 52, "3618": 52, "0253": 52, "3243": 52, "4090": 52, "8168": 52, "0129": 52, "7980": 52, "8382": 52, "6012": 52, "5695": 52, "6395": 52, "4471": 52, "0217": 52, "4145": 52, "4838": 52, "3385": 52, "0363": 52, "2930": 52, "4102": 52, "8199": 52, "0205": 52, "7874": 52, "8495": 52, "5810": 52, "0309": 52, "5413": 52, "6405": 52, "4717": 52, "0221": 52, "4335": 52, "5090": 52, "3932": 52, "0380": 52, "3295": 52, "4515": 52, "8117": 52, "0193": 52, "7819": 52, "8437": 52, "6263": 52, "0304": 52, "5740": 52, "6720": 52, "79": 52, "0x7fe888011b80": 52, "0x7fe7a3041c10": 52, "159": [52, 55], "1210": 52, "89": [52, 53], "80": 52, "218375": 52, "041238": 52, "067685": 52, "022551": 52, "944525": 52, "034034": 52, "256606": 52, "042876": 52, "215077": 52, "070580": 52, "072487": 52, "038396": 52, "808632": 52, "542267": 52, "258569": 52, "075029": 52, "225399": 52, "046843": 52, "064703": 52, "027453": 52, "761820": 52, "260305": 52, "248759": 52, "053127": 52, "456658": 52, "014927": 52, "361827": 52, "025300": 52, "816841": 52, "012879": 52, "601158": 52, "020894": 52, "447051": 52, "021654": 52, "338491": 52, "036338": 52, "819891": 52, "020538": 52, "580979": 52, "030896": 52, "471734": 52, "022094": 52, "393163": 52, "038030": 52, "811712": 52, "019268": 52, "626290": 52, "030394": 52, "253197": 52, "043999": 52, "102229": 52, "026842": 52, "930321": 52, "041415": 52, "316850": 52, "042846": 52, "250222": 52, "047830": 52, "089864": 52, "024807": 52, "925621": 52, "092749": 52, "296490": 52, "044240": 52, "240698": 52, "066849": 52, "102936": 52, "042950": 52, "880525": 52, "133583": 52, "313056": 52, "070226": 52, "81": 52, "428671": 52, "435445": 52, "68c": 52, "84": 52, "discoveri": 53, "fig": [50, 53], "central": 53, "singlic": 53, "task": 53, "move": 53, "noth": 53, "thu": 53, "quickli": 53, "laze": 53, "smilesparseerror": 53, "propan": 53, "to_rdkit": 53, "to_smil": 53, "explicit_hydrogen": 53, "erron": 53, "xxx": 53, "wrong_smil": 53, "lazili": 53, "onehotencod": 53, "inherit": 53, "david": 53, "miniconda3": 53, "getlimit": 53, "499": 53, "smallest": 53, "subnorm": 53, "setattr": 53, "word": 53, "getattr": 53, "machar": 53, "_float_to_str": 53, "smallest_subnorm": 53, "protein2": 53, "4nye": 53, "r3a": 53, "mlrggrrgql": 53, "mlaggrrgql": 53, "nonetyp": 53, "np_001007793": 53, "welgegafgkvflvavkaldfqreaelltmlqqhivrffgvlmvfeymrhgdlnrflrsylaglhfvhrdlatrnclvigdfgm": 53, "pure": 53, "lastli": 53, "ship": 53, "261870": 53, "640": 53, "406": 53, "curat": 53, "chembl29_v0": 53, "190469": 53, "160703": 53, "15653": 53, "14113": 53, "188032": 53, "462": 53, "115207": 53, "rapid": 53, "featuriz": 53, "klifs_kinas": 53, "97": 53, "morgan1024": 54, "674245": 54, "ncnc2cc1occocccco": 54, "cn2ccccc2": 54, "nnc4ccccc4": 54, "cnc1cc1": 54, "c2cc1occn1ccn": 54, "ccc45": 54, "cnc1cc2ncnc": 54, "cn4ccccc4": 54, "occ1cccc": 54, "cc5ccccn5": 54, "ncn4c3cccc3": 54, "ccccnc1cc2ncnc": 54, "nc3ccccc3br": 54, "ccoc2n": 54, "ccnc1ncc2cc": 54, "cococc": 54, "nc3cn": 54, "nc3oc": 54, "cnn5cc5ccccc5": 54, "4o": 54, "nc3nc4ncnc": 54, "c4s3": 54, "cc1nc1nc": 54, "c2cc1cn1ccn": 54, "ccocc1ccc": 54, "fc1cc2ncnc": 54, "ncc4ccccc4f": 54, "ncnc3": 54, "nc1ccccc1f": 54, "ccc1ncnc": 54, "occccc1nc": 54, "c3ccccc3o": 54, "occn3cccc3": 54, "nc1nc1cccc": 54, "nccc1cn": 54, "cccccc2ccccc2": 54, "occc3ccc": 54, "cc1c1ccccc1br": 54, "cccc2oc2ccc": 54, "c4cnc5": 54, "oc1": 54, "cccccccccc": 54, "c3scnc3c": 54, "occccccoc5no": 54, "cccncc1ccccc1": 54, "clc1ccccc1": 54, "c2cc1occcn1ccccc1": 54, "nc2ncnc3cc4": 54, "nnc4cc23": 54, "c1ccc2sc": 54, "nc4ncnc5": 54, "cnc45": 54, "ncc4cccc": 54, "c2cc1occo": 54, "nc1ncnc2c1ncn2": 54, "nc2ncnc3ccc4cc": 54, "cn2c1cc": 54, "ccn4cc4ccccn4": 54, "c1nccccn1ccocc1": 54, "cccn1ccccc1": 54, "cnc4cc4": 54, "1ccc": 54, "ccn3c": 54, "ccc3s2": 54, "390702": 54, "06t10": [54, 55], "400767": 54, "59c": [54, 55], "20w": 54, "105158": 54, "212444": 54, "2498": 54, "0533": 54, "1692": 54, "3305": 54, "1704": 54, "0794": 54, "0651": 54, "3030": 54, "8635": 54, "0715": 54, "7471": 54, "9571": 54, "4013": 54, "0969": 54, "2551": 54, "5504": 54, "2738": 54, "0872": 54, "1629": 54, "4197": 54, "2104": 54, "1424": 54, "0542": 54, "4710": 54, "7849": 54, "2243": 54, "4298": 54, "9582": 54, "4323": 54, "1535": 54, "2328": 54, "6863": 54, "2216": 54, "0618": 54, "1283": 54, "3213": 54, "1199": 54, "0543": 54, "0401": 54, "2115": 54, "8932": 54, "0709": 54, "7751": 54, "9764": 54, "3358": 54, "0849": 54, "2002": 54, "4599": 54, "2354": 54, "0052": 54, "2264": 54, "2442": 54, "1034": 54, "0939": 54, "1138": 54, "9486": 54, "9436": 54, "9527": 54, "3214": 54, "0089": 54, "3065": 54, "3373": 54, "2321": 54, "0073": 54, "2209": 54, "2425": 54, "1017": 54, "0077": 54, "0898": 54, "1157": 54, "9498": 54, "0041": 54, "9416": 54, "9555": 54, "3186": 54, "0120": 54, "3402": 54, "2386": 54, "0071": [54, 55], "2269": 54, "2499": 54, "1052": 54, "0082": 54, "0934": 54, "1183": 54, "9472": 54, "0038": 54, "9413": 54, "3241": 54, "0126": 54, "3056": 54, "3439": 54, "1778": 54, "1512": 54, "2068": 54, "0529": 54, "0088": 54, "0388": 54, "0671": 54, "9676": 54, "0079": [54, 55], "9546": 54, "9781": 54, "2292": 54, "0191": 54, "1970": 54, "1665": 54, "0186": 54, "1355": 54, "0416": 54, "0576": 54, "9811": 54, "9701": 54, "9890": 54, "2028": 54, "0207": 54, "1668": 54, "2399": 54, "1933": 54, "0262": 54, "1510": 54, "2438": 54, "0653": 54, "0154": 54, "0398": 54, "0926": 54, "0255": 54, "8826": 54, "9639": 54, "2538": 54, "0303": 54, "1995": 54, "3043": 54, "0x7fce6846ea60": 54, "177771": 54, "015785": 54, "052921": 54, "008807": 54, "967586": 54, "007924": 54, "229248": 54, "019131": 54, "166451": 54, "018611": 54, "041571": 54, "008508": 54, "981131": 54, "005752": 54, "202837": 54, "020681": 54, "193261": 54, "026235": 54, "065315": 54, "015376": 54, "930327": 54, "025522": 54, "253769": 54, "030277": 54, "235393": 54, "005219": 54, "103362": 54, "005762": 54, "948592": 54, "002752": 54, "321376": 54, "008907": 54, "232105": 54, "007312": 54, "101654": 54, "007653": 54, "949771": 54, "004129": 54, "318607": 54, "011975": 54, "238604": 54, "007122": 54, "105168": 54, "008246": 54, "947172": 54, "003796": 54, "324051": 54, "012595": 54, "249806": 54, "053278": 54, "170412": 54, "079378": 54, "863479": 54, "071541": 54, "401279": 54, "096887": 54, "273753": 54, "087242": 54, "210392": 54, "142430": 54, "784935": 54, "224324": 54, "432251": 54, "153464": 54, "221559": 54, "061849": 54, "119945": 54, "054289": 54, "893225": 54, "070891": 54, "335753": 54, "084941": 54, "645164": 54, "649391": 54, "189152": 55, "flo": 55, "593058": 55, "605328": 55, "125": 55, "57c": 55, "17w": 55, "10w": 55, "46mib": 55, "1247": 55, "101546": 55, "319083": 55, "1604": 55, "0194": 55, "1331": 55, "1940": 55, "0351": 55, "0473": 55, "9759": 55, "0147": 55, "9517": 55, "9889": 55, "1863": 55, "1575": 55, "2175": 55, "1827": 55, "0276": 55, "1317": 55, "0421": 55, "0114": 55, "0218": 55, "0610": 55, "9659": 55, "0406": 55, "8957": 55, "2032": 55, "1476": 55, "2470": 55, "1334": 55, "0305": 55, "0860": 55, "1868": 55, "0267": 55, "0107": 55, "0119": 55, "0438": 55, "9695": 55, "0289": 55, "9180": 55, "9935": 55, "1599": 55, "0329": 55, "1090": 55, "2092": 55, "3447": 55, "1288": 55, "1899": 55, "5692": 55, "3078": 55, "2553": 55, "7105": 55, "7518": 55, "2974": 55, "9662": 55, "5049": 55, "2301": 55, "2174": 55, "8429": 55, "2467": 55, "0704": 55, "1483": 55, "3732": 55, "0879": 55, "0470": 55, "1694": 55, "7269": 55, "9792": 55, "6081": 55, "9601": 55, "2860": 55, "0784": 55, "1666": 55, "4116": 55, "4523": 55, "1672": 55, "8707": 55, "5403": 55, "5099": 55, "0346": 55, "3158": 55, "9573": 55, "538": 55, "8569": 55, "8780": 55, "9748": 55, "6364": 55, "3677": 55, "1859": 55, "1471": 55, "1833": 55, "1726": 55, "1958": 55, "0722": 55, "0590": 55, "0885": 55, "9634": 55, "0046": 55, "9540": 55, "2682": 55, "0170": 55, "2430": 55, "2975": 55, "1798": 55, "0097": 55, "1662": 55, "1979": 55, "0667": 55, "0148": 55, "0490": 55, "0935": 55, "9645": 55, "9493": 55, "2568": 55, "0279": 55, "2213": 55, "3058": 55, "1862": 55, "0108": 55, "1705": 55, "2051": 55, "0773": 55, "0113": 55, "0601": 55, "0970": 55, "9629": 55, "0059": 55, "9526": 55, "2773": 55, "0202": 55, "2452": 55, "3114": 55, "0x7f4dc22ff9d0": 55, "0x7f4dc22ff430": 55, "183260": 55, "007219": 55, "072225": 55, "009288": 55, "963449": 55, "004629": 55, "268209": 55, "016991": 55, "179782": 55, "009711": 55, "066738": 55, "014805": 55, "964520": 55, "007867": 55, "256827": 55, "027890": 55, "186170": 55, "010785": 55, "077324": 55, "011253": 55, "962918": 55, "005942": 55, "277336": 55, "020215": 55, "344678": 55, "128756": 55, "307806": 55, "255294": 55, "751761": 55, "248068": 55, "504852": 55, "230067": 55, "246742": 55, "070413": 55, "087939": 55, "046978": 55, "726874": 55, "979202": 55, "285983": 55, "078438": 55, "452279": 55, "247003": 55, "540277": 55, "509896": 55, "957348": 55, "856945": 55, "636427": 55, "367746": 55, "160410": 55, "019357": 55, "035080": 55, "007079": 55, "975931": 55, "014664": 55, "186349": 55, "018824": 55, "182744": 55, "027550": 55, "042085": 55, "011447": 55, "965866": 55, "040565": 55, "203163": 55, "028461": 55, "133422": 55, "030496": 55, "026664": 55, "010667": 55, "969537": 55, "028914": 55, "159950": 55, "032868": 55, "790579": 55, "796459": 55, "welcom": 47, "guid": 47, "overview": 50}, "objects": {"": [[31, 0, 0, "-", "kinoml"]], "kinoml": [[31, 1, 1, "", "__git_revision__"], [31, 1, 1, "", "__version__"], [0, 0, 0, "-", "_version"], [1, 0, 0, "-", "analysis"], [6, 0, 0, "-", "core"], [12, 0, 0, "-", "databases"], [19, 0, 0, "-", "datasets"], [25, 0, 0, "-", "docking"], [28, 0, 0, "-", "features"], [31, 4, 1, "", "get_versions"], [32, 0, 0, "-", "ml"], [43, 0, 0, "-", "modeling"], [44, 0, 0, "-", "optimize"], [45, 0, 0, "-", "utils"], [31, 1, 1, "", "versions"], [46, 0, 0, "-", "workflows"]], "kinoml._version": [[0, 1, 1, "", "HANDLERS"], [0, 1, 1, "", "LONG_VERSION_PY"], [0, 2, 1, "", "NotThisMethod"], [0, 3, 1, "", "VersioneerConfig"], [0, 4, 1, "", "get_config"], [0, 4, 1, "", "get_keywords"], [0, 4, 1, "", "get_versions"], [0, 4, 1, "", "git_get_keywords"], [0, 4, 1, "", "git_pieces_from_vcs"], [0, 4, 1, "", "git_versions_from_keywords"], [0, 4, 1, "", "plus_or_dot"], [0, 4, 1, "", "register_vcs_handler"], [0, 4, 1, "", "render"], [0, 4, 1, "", "render_git_describe"], [0, 4, 1, "", "render_git_describe_long"], [0, 4, 1, "", "render_pep440"], [0, 4, 1, "", "render_pep440_old"], [0, 4, 1, "", "render_pep440_post"], [0, 4, 1, "", "render_pep440_pre"], [0, 4, 1, "", "run_command"], [0, 4, 1, "", "versions_from_parentdir"]], "kinoml.analysis": [[2, 0, 0, "-", "metrics"], [3, 0, 0, "-", "plots"]], "kinoml.analysis.metrics": [[2, 4, 1, "", "performance"], [2, 4, 1, "", "root_mean_squared_error"]], "kinoml.analysis.plots": [[3, 4, 1, "", "predicted_vs_observed"]], "kinoml.core": [[4, 0, 0, "-", "components"], [5, 0, 0, "-", "conditions"], [7, 0, 0, "-", "ligands"], [8, 0, 0, "-", "measurements"], [9, 0, 0, "-", "proteins"], [10, 0, 0, "-", "sequences"], [11, 0, 0, "-", "systems"]], "kinoml.core.components": [[4, 3, 1, "", "BaseLigand"], [4, 3, 1, "", "BaseProtein"], [4, 3, 1, "", "MolecularComponent"]], "kinoml.core.components.MolecularComponent": [[4, 5, 1, "", "__repr__"]], "kinoml.core.conditions": [[5, 3, 1, "", "AssayConditions"], [5, 3, 1, "", "BaseConditions"]], "kinoml.core.conditions.AssayConditions": [[5, 5, 1, "", "check"], [5, 6, 1, "", "pH"]], "kinoml.core.conditions.BaseConditions": [[5, 5, 1, "", "__eq__"], [5, 5, 1, "", "__hash__"], [5, 5, 1, "", "__repr__"], [5, 5, 1, "", "_properties"], [5, 5, 1, "", "check"]], "kinoml.core.ligands": [[7, 3, 1, "", "Ligand"], [7, 1, 1, "", "logger"]], "kinoml.core.ligands.Ligand": [[7, 5, 1, "", "from_file"], [7, 5, 1, "", "from_smiles"], [7, 5, 1, "id0", "molecule"]], "kinoml.core.measurements": [[8, 3, 1, "", "BaseMeasurement"], [8, 1, 1, "", "LN10"], [8, 3, 1, "", "ObservationModelMeasurement"], [8, 3, 1, "", "PercentageDisplacementMeasurement"], [8, 4, 1, "", "null_observation_model"], [8, 3, 1, "", "pIC50Measurement"], [8, 3, 1, "", "pKdMeasurement"], [8, 3, 1, "", "pKiMeasurement"]], "kinoml.core.measurements.BaseMeasurement": [[8, 7, 1, "id0", "RANGE"], [8, 5, 1, "", "__eq__"], [8, 5, 1, "", "__repr__"], [8, 5, 1, "", "check"], [8, 6, 1, "", "errors"], [8, 6, 1, "", "values"]], "kinoml.core.measurements.ObservationModelMeasurement": [[8, 5, 1, "", "_loss_adapter_generic"], [8, 5, 1, "", "_loss_adapter_pytorch"], [8, 5, 1, "", "_observation_model"], [8, 5, 1, "", "_observation_model_null"], [8, 5, 1, "", "_observation_model_pytorch"], [8, 5, 1, "", "_observation_model_xgboost"], [8, 5, 1, "", "_post_loss_adapter"], [8, 5, 1, "", "loss_adapter"], [8, 5, 1, "", "observation_model"]], "kinoml.core.measurements.PercentageDisplacementMeasurement": [[8, 7, 1, "", "RANGE"], [8, 5, 1, "", "_loss_adapter_xgboost_mse"], [8, 5, 1, "", "_observation_model_numpy"], [8, 5, 1, "", "_observation_model_pytorch"], [8, 7, 1, "", "_observation_model_xgboost"], [8, 5, 1, "", "_post_loss_adapter"], [8, 5, 1, "", "check"]], "kinoml.core.measurements.pIC50Measurement": [[8, 7, 1, "", "RANGE"], [8, 5, 1, "", "_loss_adapter_xgboost_mse"], [8, 7, 1, "", "_observation_model_numpy"], [8, 5, 1, "", "_observation_model_pytorch"], [8, 7, 1, "", "_observation_model_xgboost"], [8, 5, 1, "", "_post_loss_adapter"], [8, 5, 1, "", "check"]], "kinoml.core.measurements.pKdMeasurement": [[8, 7, 1, "", "RANGE"], [8, 5, 1, "", "_loss_adapter_xgboost_mse"], [8, 7, 1, "", "_observation_model_numpy"], [8, 5, 1, "", "_observation_model_pytorch"], [8, 7, 1, "", "_observation_model_xgboost"], [8, 5, 1, "", "_post_loss_adapter"], [8, 5, 1, "", "check"]], "kinoml.core.measurements.pKiMeasurement": [[8, 7, 1, "", "RANGE"], [8, 5, 1, "", "_loss_adapter_xgboost_mse"], [8, 7, 1, "", "_observation_model_numpy"], [8, 5, 1, "", "_observation_model_pytorch"], [8, 7, 1, "", "_observation_model_xgboost"], [8, 5, 1, "", "_post_loss_adapter"], [8, 5, 1, "", "check"]], "kinoml.core.proteins": [[9, 3, 1, "", "KLIFSKinase"], [9, 3, 1, "", "Protein"], [9, 1, 1, "", "logger"]], "kinoml.core.proteins.KLIFSKinase": [[9, 5, 1, "", "_query_klifs"], [9, 5, 1, "", "_query_sequence_sources"], [9, 5, 1, "id1", "kinase_klifs_sequence"], [9, 5, 1, "id3", "structure_klifs_residues"], [9, 5, 1, "id2", "structure_klifs_sequence"]], "kinoml.core.proteins.Protein": [[9, 5, 1, "", "from_file"], [9, 5, 1, "", "from_pdb"], [9, 5, 1, "id0", "molecule"], [9, 6, 1, "", "pdb_id"]], "kinoml.core.sequences": [[10, 3, 1, "", "AminoAcidSequence"], [10, 3, 1, "", "Biosequence"], [10, 3, 1, "", "DNASequence"], [10, 3, 1, "", "RNASequence"], [10, 1, 1, "", "logger"]], "kinoml.core.sequences.AminoAcidSequence": [[10, 7, 1, "", "ALPHABET"], [10, 5, 1, "", "_query_ncbi"], [10, 5, 1, "", "_query_sequence_sources"], [10, 5, 1, "", "_query_uniprot"], [10, 5, 1, "", "ncbi_to_uniprot"]], "kinoml.core.sequences.Biosequence": [[10, 7, 1, "", "ALPHABET"], [10, 5, 1, "", "_query_sequence_sources"], [10, 5, 1, "", "delete"], [10, 5, 1, "", "insert"], [10, 5, 1, "id0", "sequence"], [10, 5, 1, "", "substitute"]], "kinoml.core.sequences.DNASequence": [[10, 7, 1, "", "ALPHABET"]], "kinoml.core.sequences.RNASequence": [[10, 7, 1, "", "ALPHABET"]], "kinoml.core.systems": [[11, 3, 1, "", "LigandSystem"], [11, 3, 1, "", "ProteinLigandComplex"], [11, 3, 1, "", "ProteinSystem"], [11, 3, 1, "", "System"]], "kinoml.core.systems.LigandSystem": [[11, 5, 1, "", "check"], [11, 6, 1, "", "ligand"], [11, 6, 1, "", "ligands"]], "kinoml.core.systems.ProteinLigandComplex": [[11, 5, 1, "", "check"]], "kinoml.core.systems.ProteinSystem": [[11, 5, 1, "", "check"], [11, 6, 1, "", "protein"], [11, 6, 1, "", "proteins"]], "kinoml.core.systems.System": [[11, 5, 1, "", "__repr__"], [11, 5, 1, "", "_components_by_type"], [11, 5, 1, "", "check"], [11, 7, 1, "", "featurizations"], [11, 6, 1, "", "name"], [11, 6, 1, "", "weight"]], "kinoml.databases": [[13, 0, 0, "-", "klifs"], [14, 0, 0, "-", "pdb"], [15, 0, 0, "-", "uniprot"]], "kinoml.databases.klifs": [[13, 4, 1, "", "klifs_kinase_from_uniprot_id"]], "kinoml.databases.pdb": [[14, 4, 1, "", "download_pdb_ligand"], [14, 4, 1, "", "download_pdb_structure"], [14, 1, 1, "", "logger"], [14, 4, 1, "", "smiles_from_pdb"]], "kinoml.databases.uniprot": [[15, 4, 1, "", "download_fasta_file"]], "kinoml.datasets": [[16, 0, 0, "-", "chembl"], [17, 0, 0, "-", "core"], [18, 0, 0, "-", "groups"], [20, 0, 0, "-", "pkis2"], [21, 0, 0, "-", "torch_datasets"], [22, 0, 0, "-", "torch_geometric_datasets"]], "kinoml.datasets.chembl": [[16, 3, 1, "", "ChEMBLDatasetProvider"], [16, 1, 1, "", "logger"]], "kinoml.datasets.chembl.ChEMBLDatasetProvider": [[16, 5, 1, "", "from_source"]], "kinoml.datasets.core": [[17, 3, 1, "", "BaseDatasetProvider"], [17, 3, 1, "", "DatasetProvider"], [17, 3, 1, "", "MultiDatasetProvider"], [17, 1, 1, "", "logger"]], "kinoml.datasets.core.BaseDatasetProvider": [[17, 6, 1, "", "conditions"], [17, 5, 1, "", "featurize"], [17, 5, 1, "", "featurized_systems"], [17, 5, 1, "", "from_source"], [17, 6, 1, "", "measurement_type"], [17, 5, 1, "", "measurements_as_array"], [17, 5, 1, "", "measurements_by_group"], [17, 5, 1, "", "observation_model"], [17, 6, 1, "", "systems"], [17, 5, 1, "", "to_dataframe"], [17, 5, 1, "", "to_numpy"], [17, 5, 1, "", "to_pytorch"], [17, 5, 1, "", "to_tensorflow"]], "kinoml.datasets.core.DatasetProvider": [[17, 5, 1, "", "__getitem__"], [17, 5, 1, "", "__len__"], [17, 5, 1, "", "__repr__"], [17, 5, 1, "", "_download_to_cache_or_retrieve"], [17, 5, 1, "", "_post_featurize"], [17, 7, 1, "", "_raw_data"], [17, 5, 1, "", "_to_dataset"], [17, 6, 1, "", "conditions"], [17, 5, 1, "", "featurize"], [17, 5, 1, "", "featurized_systems"], [17, 5, 1, "", "from_source"], [17, 5, 1, "", "loss_adapter"], [17, 6, 1, "", "measurement_type"], [17, 5, 1, "", "measurements_as_array"], [17, 5, 1, "", "observation_model"], [17, 5, 1, "", "split_by_groups"], [17, 6, 1, "", "systems"], [17, 5, 1, "", "to_awkward"], [17, 5, 1, "", "to_dataframe"], [17, 5, 1, "", "to_dict_of_arrays"], [17, 5, 1, "", "to_numpy"], [17, 5, 1, "", "to_pytorch"], [17, 5, 1, "", "to_tensorflow"], [17, 5, 1, "", "to_xgboost"]], "kinoml.datasets.core.MultiDatasetProvider": [[17, 5, 1, "", "__repr__"], [17, 5, 1, "", "_post_featurize"], [17, 5, 1, "", "indices_by_provider"], [17, 5, 1, "", "loss_adapter"], [17, 5, 1, "", "loss_adapters"], [17, 6, 1, "", "measurements"], [17, 5, 1, "", "observation_model"], [17, 5, 1, "", "observation_models"], [17, 5, 1, "", "to_awkward"], [17, 5, 1, "", "to_dataframe"], [17, 5, 1, "", "to_dict_of_arrays"], [17, 5, 1, "", "to_numpy"], [17, 5, 1, "", "to_pytorch"], [17, 5, 1, "", "to_xgboost"]], "kinoml.datasets.groups": [[18, 3, 1, "", "BaseFilter"], [18, 3, 1, "", "BaseGrouper"], [18, 3, 1, "", "CallableGrouper"], [18, 3, 1, "", "RandomGrouper"]], "kinoml.datasets.groups.BaseGrouper": [[18, 5, 1, "", "assign"], [18, 5, 1, "", "indices"]], "kinoml.datasets.groups.CallableGrouper": [[18, 5, 1, "", "indices"]], "kinoml.datasets.groups.RandomGrouper": [[18, 5, 1, "", "indices"]], "kinoml.datasets.pkis2": [[20, 3, 1, "", "PKIS2DatasetProvider"], [20, 1, 1, "", "logger"]], "kinoml.datasets.pkis2.PKIS2DatasetProvider": [[20, 5, 1, "", "from_source"]], "kinoml.datasets.torch_datasets": [[21, 3, 1, "", "AwkwardArrayDataset"], [21, 3, 1, "", "MultiXTorchDataset"], [21, 3, 1, "", "PrefeaturizedTorchDataset"], [21, 3, 1, "", "TorchDataset"], [21, 3, 1, "", "XyTorchDataset"], [21, 4, 1, "", "_accessor_to_indices"]], "kinoml.datasets.torch_datasets.AwkwardArrayDataset": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "__repr__"], [21, 5, 1, "", "__str__"], [21, 5, 1, "", "from_parquet"]], "kinoml.datasets.torch_datasets.MultiXTorchDataset": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "_getitem_multi_X"], [21, 5, 1, "", "_getitem_single_X"], [21, 5, 1, "", "_key_to_ints"], [21, 5, 1, "", "_shape_X"], [21, 5, 1, "", "_str_keys_to_nested_dict"], [21, 5, 1, "", "from_npz"], [21, 5, 1, "", "is_single_X"]], "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "as_dataloader"], [21, 5, 1, "", "estimate_input_size"]], "kinoml.datasets.torch_datasets.TorchDataset": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "estimate_input_size"]], "kinoml.datasets.torch_datasets.XyTorchDataset": [[21, 5, 1, "", "__getitem__"], [21, 5, 1, "", "__len__"], [21, 5, 1, "", "from_npz"], [21, 5, 1, "", "input_size"]], "kinoml.datasets.torch_geometric_datasets": [[22, 3, 1, "", "AwkwardArrayGeometricDataset"]], "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset": [[22, 5, 1, "", "__getitem__"], [22, 5, 1, "", "__iter__"], [22, 5, 1, "", "__len__"], [22, 5, 1, "", "__repr__"], [22, 5, 1, "", "__str__"], [22, 5, 1, "", "from_parquet"]], "kinoml.docking": [[23, 0, 0, "-", "OEDocking"], [24, 0, 0, "-", "SCHRODINGERDocking"]], "kinoml.docking.OEDocking": [[23, 4, 1, "", "fred_docking"], [23, 4, 1, "", "hybrid_docking"], [23, 4, 1, "", "pose_molecules"], [23, 4, 1, "", "resids_to_box_molecule"], [23, 4, 1, "", "run_docking"]], "kinoml.docking.SCHRODINGERDocking": [[24, 1, 1, "", "logger"], [24, 4, 1, "", "run_glide"]], "kinoml.features": [[26, 0, 0, "-", "complexes"], [27, 0, 0, "-", "core"], [29, 0, 0, "-", "ligand"], [30, 0, 0, "-", "protein"]], "kinoml.features.complexes": [[26, 3, 1, "", "KLIFSConformationTemplatesFeaturizer"], [26, 3, 1, "", "MostSimilarPDBLigandFeaturizer"], [26, 3, 1, "", "OEComplexFeaturizer"], [26, 3, 1, "", "OEDockingFeaturizer"], [26, 3, 1, "", "SCHRODINGERComplexFeaturizer"], [26, 3, 1, "", "SCHRODINGERDockingFeaturizer"], [26, 3, 1, "", "SingleLigandProteinComplexFeaturizer"], [26, 1, 1, "", "logger"]], "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer": [[26, 7, 1, "", "_COMPATIBLE_PROTEIN_TYPES"], [26, 5, 1, "", "_by_klifs_sequence"], [26, 5, 1, "", "_create_klifs_structure_db"], [26, 5, 1, "", "_featurize_one"], [26, 5, 1, "", "_filter_structures"], [26, 5, 1, "", "_get_most_similar_klifs_ligand_entity"], [26, 5, 1, "", "_post_featurize"], [26, 5, 1, "", "_pre_featurize"]], "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer": [[26, 7, 1, "", "_SUPPORTED_SIMILARITY_METRICS"], [26, 7, 1, "", "_SUPPORTED_TYPES"], [26, 5, 1, "", "_add_ligand_entity_info"], [26, 5, 1, "", "_add_pdb_resolution"], [26, 5, 1, "", "_by_fingerprint"], [26, 5, 1, "", "_by_mcs"], [26, 5, 1, "", "_by_openeye_shape"], [26, 5, 1, "", "_by_schrodinger_shape"], [26, 5, 1, "", "_check_schrodinger"], [26, 5, 1, "", "_featurize_one"], [26, 5, 1, "", "_get_most_similar_pdb_ligand_entity"], [26, 5, 1, "", "_get_pdb_ligand_entities"], [26, 5, 1, "", "_post_featurize"], [26, 5, 1, "", "_pre_featurize"]], "kinoml.features.complexes.OEComplexFeaturizer": [[26, 7, 1, "", "_SUPPORTED_TYPES"], [26, 5, 1, "", "_featurize_one"]], "kinoml.features.complexes.OEDockingFeaturizer": [[26, 7, 1, "", "_SUPPORTED_TYPES"], [26, 5, 1, "", "_featurize_one"], [26, 5, 1, "", "_store_docking_score"]], "kinoml.features.complexes.SCHRODINGERComplexFeaturizer": [[26, 7, 1, "", "_SUPPORTED_TYPES"], [26, 5, 1, "", "_featurize_one"], [26, 5, 1, "", "_postprocess_structure"], [26, 5, 1, "", "_pre_featurize"], [26, 5, 1, "", "_prepare_structure"], [26, 5, 1, "", "_preprocess_structure"], [26, 5, 1, "", "_read_protein_structure"], [26, 5, 1, "", "_system_to_name"]], "kinoml.features.complexes.SCHRODINGERDockingFeaturizer": [[26, 7, 1, "", "_SUPPORTED_TYPES"], [26, 5, 1, "", "_dock_molecule"], [26, 5, 1, "", "_featurize_one"], [26, 5, 1, "", "_replace_ligand"], [26, 5, 1, "", "_store_docking_score"], [26, 5, 1, "", "_write_complex_mae"]], "kinoml.features.complexes.SingleLigandProteinComplexFeaturizer": [[26, 7, 1, "", "_COMPATIBLE_LIGAND_TYPES"], [26, 7, 1, "", "_COMPATIBLE_PROTEIN_TYPES"], [26, 5, 1, "", "_supports"]], "kinoml.features.core": [[27, 3, 1, "", "BaseFeaturizer"], [27, 3, 1, "", "BaseOneHotEncodingFeaturizer"], [27, 3, 1, "", "CallableFeaturizer"], [27, 3, 1, "", "ClearFeaturizations"], [27, 3, 1, "", "Concatenated"], [27, 3, 1, "", "HashFeaturizer"], [27, 3, 1, "", "NullFeaturizer"], [27, 3, 1, "", "OEBaseModelingFeaturizer"], [27, 3, 1, "", "PadFeaturizer"], [27, 3, 1, "", "ParallelBaseFeaturizer"], [27, 3, 1, "", "Pipeline"], [27, 3, 1, "", "TupleOfArrays"], [27, 1, 1, "", "logger"]], "kinoml.features.core.BaseFeaturizer": [[27, 7, 1, "", "_SUPPORTED_TYPES"], [27, 5, 1, "", "__call__"], [27, 5, 1, "", "__repr__"], [27, 5, 1, "", "_featurize"], [27, 5, 1, "", "_featurize_one"], [27, 5, 1, "", "_post_featurize"], [27, 5, 1, "", "_pre_featurize"], [27, 5, 1, "", "_supports"], [27, 5, 1, "", "featurize"], [27, 6, 1, "", "name"], [27, 5, 1, "", "supports"]], "kinoml.features.core.BaseOneHotEncodingFeaturizer": [[27, 7, 1, "", "ALPHABET"], [27, 5, 1, "", "_featurize_one"], [27, 5, 1, "", "_retrieve_sequence"], [27, 5, 1, "", "one_hot_encode"]], "kinoml.features.core.CallableFeaturizer": [[27, 5, 1, "", "_default_func"], [27, 5, 1, "", "_featurize_one"]], "kinoml.features.core.ClearFeaturizations": [[27, 5, 1, "", "_featurize_one"], [27, 5, 1, "", "_post_featurize"]], "kinoml.features.core.Concatenated": [[27, 5, 1, "", "_featurize"]], "kinoml.features.core.HashFeaturizer": [[27, 5, 1, "", "_featurize_one"], [27, 5, 1, "", "_getter"]], "kinoml.features.core.NullFeaturizer": [[27, 5, 1, "", "_featurize"]], "kinoml.features.core.OEBaseModelingFeaturizer": [[27, 5, 1, "", "_assemble_components"], [27, 5, 1, "", "_get_components"], [27, 5, 1, "", "_get_design_unit"], [27, 5, 1, "", "_get_protein_residue_numbers"], [27, 5, 1, "", "_process_protein"], [27, 5, 1, "", "_read_protein_structure"], [27, 5, 1, "", "_remove_clashing_water"], [27, 5, 1, "", "_update_pdb_header"], [27, 5, 1, "", "_write_results"]], "kinoml.features.core.PadFeaturizer": [[27, 5, 1, "", "_featurize_one"], [27, 5, 1, "", "_get_array"], [27, 5, 1, "", "_pre_featurize"]], "kinoml.features.core.ParallelBaseFeaturizer": [[27, 7, 1, "", "_SUPPORTED_TYPES"], [27, 5, 1, "", "__getstate__"], [27, 5, 1, "", "__setstate__"], [27, 5, 1, "", "_featurize"]], "kinoml.features.core.Pipeline": [[27, 5, 1, "", "_featurize"], [27, 6, 1, "", "name"], [27, 6, 1, "", "shortname"], [27, 5, 1, "", "supports"]], "kinoml.features.core.TupleOfArrays": [[27, 5, 1, "", "_featurize"]], "kinoml.features.ligand": [[29, 3, 1, "", "GraphLigandFeaturizer"], [29, 3, 1, "", "MorganFingerprintFeaturizer"], [29, 3, 1, "", "OneHotSMILESFeaturizer"], [29, 3, 1, "", "SingleLigandFeaturizer"]], "kinoml.features.ligand.GraphLigandFeaturizer": [[29, 7, 1, "", "ALL_ATOMIC_SYMBOLS"], [29, 5, 1, "", "_connectivity_COO_format"], [29, 5, 1, "", "_featurize_one"], [29, 5, 1, "", "_per_atom_features"]], "kinoml.features.ligand.MorganFingerprintFeaturizer": [[29, 5, 1, "", "_featurize_one"]], "kinoml.features.ligand.OneHotSMILESFeaturizer": [[29, 7, 1, "id0", "ALPHABET"], [29, 5, 1, "", "_retrieve_sequence"]], "kinoml.features.ligand.SingleLigandFeaturizer": [[29, 7, 1, "", "_COMPATIBLE_LIGAND_TYPES"], [29, 5, 1, "", "_supports"]], "kinoml.features.protein": [[30, 3, 1, "", "AminoAcidCompositionFeaturizer"], [30, 3, 1, "", "OEProteinStructureFeaturizer"], [30, 3, 1, "", "OneHotEncodedSequenceFeaturizer"], [30, 3, 1, "", "SingleProteinFeaturizer"], [30, 1, 1, "", "logger"]], "kinoml.features.protein.AminoAcidCompositionFeaturizer": [[30, 7, 1, "", "_counter"], [30, 5, 1, "", "_featurize_one"]], "kinoml.features.protein.OEProteinStructureFeaturizer": [[30, 5, 1, "", "_featurize_one"]], "kinoml.features.protein.OneHotEncodedSequenceFeaturizer": [[30, 7, 1, "", "ALPHABET"], [30, 5, 1, "", "_retrieve_sequence"]], "kinoml.features.protein.SingleProteinFeaturizer": [[30, 7, 1, "", "_COMPATIBLE_PROTEIN_TYPES"], [30, 5, 1, "", "_supports"]], "kinoml.ml": [[33, 0, 0, "-", "lightning_modules"], [34, 0, 0, "-", "tensorflow_models"], [35, 0, 0, "-", "torch_geometric_models"], [36, 0, 0, "-", "torch_loops"], [37, 0, 0, "-", "torch_models"], [38, 0, 0, "-", "torch_trees"]], "kinoml.ml.lightning_modules": [[33, 3, 1, "", "AttrList"], [33, 3, 1, "", "CrossValidateTrainer"], [33, 3, 1, "", "KFold3Way"], [33, 3, 1, "", "MultiDataModule"], [33, 3, 1, "", "ObservationModelDataLoader"], [33, 3, 1, "", "ObservationModelModule"], [33, 3, 1, "", "RootMeanSquaredError"], [33, 3, 1, "", "_IterWithObsModel"]], "kinoml.ml.lightning_modules.AttrList": [[33, 5, 1, "", "__call__"]], "kinoml.ml.lightning_modules.CrossValidateTrainer": [[33, 5, 1, "", "_patch_paths_for_kfold"], [33, 5, 1, "", "best_run"], [33, 5, 1, "", "clear"], [33, 5, 1, "", "fit"], [33, 5, 1, "", "test"]], "kinoml.ml.lightning_modules.KFold3Way": [[33, 5, 1, "", "split"]], "kinoml.ml.lightning_modules.MultiDataModule": [[33, 5, 1, "", "_build_dataloader"], [33, 6, 1, "", "active_dataset"], [33, 6, 1, "", "active_dataset_index"], [33, 5, 1, "", "dataset_indices_by_size"], [33, 5, 1, "", "get_kfold"], [33, 5, 1, "", "test_dataloader"], [33, 5, 1, "", "train_dataloader"], [33, 5, 1, "", "val_dataloader"]], "kinoml.ml.lightning_modules.ObservationModelDataLoader": [[33, 5, 1, "", "__iter__"]], "kinoml.ml.lightning_modules.ObservationModelModule": [[33, 5, 1, "", "_common_validation_test_epoch_end"], [33, 5, 1, "", "_common_validation_test_step"], [33, 5, 1, "", "_disabled_validation_epoch_end"], [33, 5, 1, "", "_disabled_validation_step"], [33, 5, 1, "", "_standard_step"], [33, 5, 1, "", "configure_optimizers"], [33, 5, 1, "", "forward"], [33, 5, 1, "", "test_epoch_end"], [33, 5, 1, "", "test_step"], [33, 5, 1, "", "training_step"]], "kinoml.ml.lightning_modules.RootMeanSquaredError": [[33, 5, 1, "", "compute"]], "kinoml.ml.lightning_modules._IterWithObsModel": [[33, 5, 1, "", "__getattr__"], [33, 5, 1, "", "__iter__"], [33, 5, 1, "", "__next__"]], "kinoml.ml.tensorflow_models": [[34, 4, 1, "", "CNN"], [34, 4, 1, "", "DNN"], [34, 4, 1, "", "MPNN"]], "kinoml.ml.torch_geometric_models": [[35, 3, 1, "", "GraphConvolutionNeuralNetwork"]], "kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork": [[35, 5, 1, "", "estimate_input_shape"], [35, 5, 1, "", "forward"], [35, 7, 1, "", "needs_input_shape"]], "kinoml.ml.torch_loops": [[36, 3, 1, "", "EarlyStopping"], [36, 3, 1, "", "LRScheduler"], [36, 4, 1, "", "_old_training_loop"], [36, 4, 1, "", "multi_measurement_training_loop"]], "kinoml.ml.torch_loops.EarlyStopping": [[36, 5, 1, "", "__call__"]], "kinoml.ml.torch_loops.LRScheduler": [[36, 5, 1, "", "__call__"]], "kinoml.ml.torch_models": [[37, 3, 1, "", "ConvolutionNeuralNetworkRegression"], [37, 3, 1, "", "ConvolutionNeuralNetworkRegressionProteinInformed"], [37, 3, 1, "", "DenseNeuralNetworkRegression"], [37, 3, 1, "", "ListOfTupleNeuralNetworkregression"], [37, 3, 1, "", "NeuralNetworkRegression"], [37, 3, 1, "", "NeuralNetworkRegressionProteinInformed"], [37, 3, 1, "", "_BaseModule"]], "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression": [[37, 5, 1, "", "forward"]], "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed": [[37, 5, 1, "", "forward"]], "kinoml.ml.torch_models.DenseNeuralNetworkRegression": [[37, 5, 1, "", "forward"]], "kinoml.ml.torch_models.ListOfTupleNeuralNetworkregression": [[37, 5, 1, "", "estimate_input_shape"], [37, 5, 1, "", "forward"]], "kinoml.ml.torch_models.NeuralNetworkRegression": [[37, 5, 1, "", "forward"]], "kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed": [[37, 5, 1, "", "forward"]], "kinoml.ml.torch_models._BaseModule": [[37, 5, 1, "", "estimate_input_shape"], [37, 7, 1, "", "needs_input_shape"]], "kinoml.modeling": [[39, 0, 0, "-", "MDAnalysisModeling"], [40, 0, 0, "-", "OEModeling"], [41, 0, 0, "-", "SCHRODINGERModeling"], [42, 0, 0, "-", "alignment"]], "kinoml.modeling.MDAnalysisModeling": [[39, 4, 1, "", "delete_alterations"], [39, 4, 1, "", "delete_expression_tags"], [39, 4, 1, "", "delete_incomplete_backbone_residues"], [39, 4, 1, "", "delete_residues"], [39, 4, 1, "", "delete_short_protein_segments"], [39, 4, 1, "", "get_sequence"], [39, 4, 1, "", "get_structure_sequence_alignment"], [39, 1, 1, "", "logger"], [39, 4, 1, "", "read_molecule"], [39, 4, 1, "", "remove_non_protein"], [39, 4, 1, "", "renumber_protein_residues"], [39, 4, 1, "", "select_altloc"], [39, 4, 1, "", "select_chain"], [39, 4, 1, "", "update_residue_identifiers"], [39, 4, 1, "", "write_molecule"]], "kinoml.modeling.OEModeling": [[40, 4, 1, "", "apply_deletions"], [40, 4, 1, "", "apply_insertions"], [40, 4, 1, "", "apply_mutations"], [40, 4, 1, "", "are_identical_molecules"], [40, 4, 1, "", "assign_caps"], [40, 4, 1, "", "delete_clashing_sidechains"], [40, 4, 1, "", "delete_partial_residues"], [40, 4, 1, "", "delete_residue"], [40, 4, 1, "", "delete_short_protein_segments"], [40, 4, 1, "", "enumerate_isomeric_smiles"], [40, 4, 1, "", "generate_conformations"], [40, 4, 1, "", "generate_enantiomers"], [40, 4, 1, "", "generate_reasonable_conformations"], [40, 4, 1, "", "generate_tautomers"], [40, 4, 1, "", "get_atom_coordinates"], [40, 4, 1, "", "get_expression_tags"], [40, 4, 1, "", "get_sequence"], [40, 4, 1, "", "get_structure_sequence_alignment"], [40, 1, 1, "", "logger"], [40, 4, 1, "", "overlay_molecules"], [40, 4, 1, "", "prepare_complex"], [40, 4, 1, "", "prepare_protein"], [40, 4, 1, "", "prepare_structure"], [40, 4, 1, "", "read_electron_density"], [40, 4, 1, "", "read_molecules"], [40, 4, 1, "", "read_smiles"], [40, 4, 1, "", "remove_non_protein"], [40, 4, 1, "", "renumber_structure"], [40, 4, 1, "", "residue_ids_to_residue_names"], [40, 4, 1, "", "select_altloc"], [40, 4, 1, "", "select_chain"], [40, 4, 1, "", "split_molecule_components"], [40, 4, 1, "", "superpose_proteins"], [40, 4, 1, "", "update_residue_identifiers"], [40, 4, 1, "", "write_molecules"]], "kinoml.modeling.SCHRODINGERModeling": [[41, 1, 1, "", "logger"], [41, 4, 1, "", "mae_to_pdb"], [41, 4, 1, "", "run_prepwizard"], [41, 4, 1, "", "shape_screen"]], "kinoml.modeling.alignment": [[42, 4, 1, "", "sequence_similarity"]], "kinoml.utils": [[45, 1, 1, "", "APPDIR"], [45, 3, 1, "", "FileDownloader"], [45, 3, 1, "", "FromDistpatcherMixin"], [45, 3, 1, "", "LocalFileStorage"], [45, 1, 1, "", "PACKAGE_ROOT"], [45, 4, 1, "", "collapsible"], [45, 4, 1, "", "datapath"], [45, 3, 1, "", "defaultdictwithargs"], [45, 4, 1, "", "download_file"], [45, 4, 1, "", "fill_until_next_multiple"], [45, 4, 1, "", "grouper"], [45, 4, 1, "", "import_object"], [45, 4, 1, "", "seed_everything"], [45, 4, 1, "", "sha256_objects"], [45, 4, 1, "", "watermark"]], "kinoml.utils.FileDownloader": [[45, 7, 1, "", "DIRECTORY"], [45, 5, 1, "", "rcsb_electron_density_mtz"], [45, 5, 1, "", "rcsb_structure_cif"], [45, 5, 1, "", "rcsb_structure_pdb"]], "kinoml.utils.FromDistpatcherMixin": [[45, 5, 1, "", "_from_dispatcher"]], "kinoml.utils.LocalFileStorage": [[45, 7, 1, "", "DIRECTORY"], [45, 5, 1, "", "featurizer_result"], [45, 5, 1, "", "klifs_kinase_db"], [45, 5, 1, "", "klifs_ligand_mol2"], [45, 5, 1, "", "klifs_structure_db"], [45, 5, 1, "", "pdb_smiles_json"], [45, 5, 1, "", "rcsb_electron_density_mtz"], [45, 5, 1, "", "rcsb_ligand_sdf"], [45, 5, 1, "", "rcsb_structure_cif"], [45, 5, 1, "", "rcsb_structure_pdb"]], "kinoml.utils.defaultdictwithargs": [[45, 5, 1, "", "__missing__"]]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:exception", "3": "py:class", "4": "py:function", "5": "py:method", "6": "py:property", "7": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "exception", "Python exception"], "3": ["py", "class", "Python class"], "4": ["py", "function", "Python function"], "5": ["py", "method", "Python method"], "6": ["py", "property", "Python property"], "7": ["py", "attribute", "Python attribute"]}, "titleterms": {"kinoml": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 53], "_version": 0, "modul": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 26, 27, 29, 30, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45], "content": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45], "analysi": [1, 2, 3], "submodul": [1, 6, 12, 19, 25, 28, 31, 32, 43], "metric": 2, "plot": 3, "core": [4, 5, 6, 7, 8, 9, 10, 11, 17, 27], "compon": [4, 53], "condit": 5, "ligand": [7, 29, 53, 54, 55], "exampl": [7, 9, 10, 17, 20, 50], "measur": [8, 53], "protein": [9, 30, 53], "sequenc": 10, "system": [11, 53], "databas": [12, 13, 14, 15], "klif": 13, "pdb": 14, "uniprot": 15, "dataset": [16, 17, 18, 19, 20, 21, 22, 51, 52, 54, 55], "chembl": 16, "note": [17, 21, 27, 29, 37], "group": [18, 51, 52, 54, 55], "pkis2": 20, "torch_dataset": 21, "torch_geometric_dataset": 22, "dock": [23, 24, 25], "oedock": 23, "schrodingerdock": 24, "featur": [26, 27, 28, 29, 30, 48, 49, 50, 51, 52, 53, 54, 55], "complex": 26, "subpackag": 31, "packag": 31, "ml": [32, 33, 34, 35, 36, 37, 38, 50], "lightning_modul": 33, "tensorflow_model": 34, "torch_geometric_model": 35, "torch_loop": 36, "torch_model": 37, "torch_tre": 38, "model": [39, 40, 41, 42, 43, 50, 51, 52, 53, 54, 55], "mdanalysismodel": 39, "oemodel": 40, "schrodingermodel": 41, "align": 42, "optim": 44, "util": 45, "workflow": 46, "warn": 47, "openkinom": [], "openey": 48, "structur": [48, 49], "oeproteinstructurefeatur": 48, "oecomplexfeatur": 48, "oedockingfeatur": 48, "fred": 48, "hybrid": 48, "posit": 48, "mostsimilarpdbligandfeatur": [48, 49], "most": [48, 49], "common": [48, 49], "substructur": [48, 49], "fingerprint": [48, 49], "": [48, 49], "shape": [48, 49], "pipelin": [48, 49], "klifsconformationtemplatesfeatur": [48, 49], "schroding": 49, "schrodingercomplexfeatur": 49, "schrodingerdockingfeatur": 49, "without": 49, "restrain": 49, "With": 49, "get": 50, "start": [50, 51, 52, 54, 55], "introduct": 50, "instal": 50, "basic": 50, "1": [50, 51, 52, 54, 55], "obtain": 50, "your": 50, "data": [50, 51, 52, 54, 55], "datasetprovid": [50, 53], "2": [50, 51, 52, 54, 55], "3": 50, "train": [50, 51, 52, 54, 55], "test": [50, 51, 52, 54, 55], "onli": [54, 55], "experi": [51, 52, 54, 55], "defin": [51, 52, 54, 55], "hyper": [51, 52, 54, 55], "paramet": [51, 52, 54, 55], "setup": [51, 52, 54, 55], "i": [51, 52, 54, 55], "finish": [51, 52, 54, 55], "work": [51, 52, 54, 55], "load": [51, 52, 54, 55], "raw": [51, 52, 54, 55], "filter": [51, 52, 54, 55], "write": [51, 52, 54, 55], "tensor": [51, 52, 54, 55], "disk": [51, 52, 54, 55], "reproduc": [51, 52, 54, 55], "log": [51, 52, 54, 55], "run": [51, 52, 54, 55], "pytorch": [51, 52, 54, 55], "creat": [51, 52, 54, 55], "observ": [51, 52, 54, 55], "prepar": [51, 52, 54, 55], "split": [51, 52, 54, 55], "dataload": [51, 52, 54, 55], "loop": [51, 52, 54, 55], "evalu": [51, 52, 54, 55], "p00533__pkimeasur": [51, 52, 55], "val": [51, 52, 54, 55], "p00533__pkdmeasur": [51, 52, 55], "p00533__pic50measur": [51, 52, 55], "summari": [51, 52, 54, 55], "configur": [51, 52, 54, 55], "save": [51, 52, 54, 55], "report": [51, 52, 54, 55], "object": 53, "molecular": 53, "pkdmeasur": 54, "pic50measur": 54, "pkimeasur": 54, "kinas": [51, 52], "inform": [51, 52], "morgan": [51, 54], "1024": [51, 54], "smile": [52, 55]}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "nbsphinx": 4, "sphinx_last_updated_by_git": 1, "sphinx": 60}, "alltitles": {"kinoml._version": [[0, "module-kinoml._version"]], "Module Contents": [[0, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [7, "module-contents"], [8, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [13, "module-contents"], [14, "module-contents"], [15, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [26, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [33, "module-contents"], [34, "module-contents"], [35, "module-contents"], [36, "module-contents"], [37, "module-contents"], [39, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [45, "module-contents"]], "kinoml.analysis": [[1, "module-kinoml.analysis"]], "Submodules": [[1, "submodules"], [6, "submodules"], [12, "submodules"], [19, "submodules"], [25, "submodules"], [28, "submodules"], [31, "submodules"], [32, "submodules"], [43, "submodules"]], "kinoml.analysis.metrics": [[2, "module-kinoml.analysis.metrics"]], "kinoml.analysis.plots": [[3, "module-kinoml.analysis.plots"]], "kinoml.core.components": [[4, "module-kinoml.core.components"]], "kinoml.core.conditions": [[5, "module-kinoml.core.conditions"]], "kinoml.core": [[6, "module-kinoml.core"]], "kinoml.core.ligands": [[7, "module-kinoml.core.ligands"]], "Examples": [[7, null], [9, null], [9, null], [10, null], [10, null], [10, null], [10, null], [17, null], [20, null]], "kinoml.core.measurements": [[8, "module-kinoml.core.measurements"]], "kinoml.core.proteins": [[9, "module-kinoml.core.proteins"]], "kinoml.core.sequences": [[10, "module-kinoml.core.sequences"]], "kinoml.core.systems": [[11, "module-kinoml.core.systems"]], "kinoml.databases": [[12, "module-kinoml.databases"]], "kinoml.databases.klifs": [[13, "module-kinoml.databases.klifs"]], "kinoml.databases.pdb": [[14, "module-kinoml.databases.pdb"]], "kinoml.databases.uniprot": [[15, "module-kinoml.databases.uniprot"]], "kinoml.datasets.chembl": [[16, "module-kinoml.datasets.chembl"]], "kinoml.datasets.core": [[17, "module-kinoml.datasets.core"]], "Notes": [[17, null], [21, null], [21, null], [27, null], [29, null], [37, null], [37, null], [37, null], [37, null], [37, null]], "kinoml.datasets.groups": [[18, "module-kinoml.datasets.groups"]], "kinoml.datasets": [[19, "module-kinoml.datasets"]], "kinoml.datasets.pkis2": [[20, "module-kinoml.datasets.pkis2"]], "kinoml.datasets.torch_datasets": [[21, "module-kinoml.datasets.torch_datasets"]], "kinoml.datasets.torch_geometric_datasets": [[22, "module-kinoml.datasets.torch_geometric_datasets"]], "kinoml.docking.OEDocking": [[23, "module-kinoml.docking.OEDocking"]], "kinoml.docking.SCHRODINGERDocking": [[24, "module-kinoml.docking.SCHRODINGERDocking"]], "kinoml.docking": [[25, "module-kinoml.docking"]], "kinoml.features.complexes": [[26, "module-kinoml.features.complexes"]], "kinoml.features.core": [[27, "module-kinoml.features.core"]], "kinoml.features": [[28, "module-kinoml.features"]], "kinoml.features.ligand": [[29, "module-kinoml.features.ligand"]], "kinoml.features.protein": [[30, "module-kinoml.features.protein"]], "kinoml": [[31, "module-kinoml"]], "Subpackages": [[31, "subpackages"]], "Package Contents": [[31, "package-contents"]], "kinoml.ml": [[32, "module-kinoml.ml"]], "kinoml.ml.lightning_modules": [[33, "module-kinoml.ml.lightning_modules"]], "kinoml.ml.tensorflow_models": [[34, "module-kinoml.ml.tensorflow_models"]], "kinoml.ml.torch_geometric_models": [[35, "module-kinoml.ml.torch_geometric_models"]], "kinoml.ml.torch_loops": [[36, "module-kinoml.ml.torch_loops"]], "kinoml.ml.torch_models": [[37, "module-kinoml.ml.torch_models"]], "kinoml.ml.torch_trees": [[38, "module-kinoml.ml.torch_trees"]], "kinoml.modeling.MDAnalysisModeling": [[39, "module-kinoml.modeling.MDAnalysisModeling"]], "kinoml.modeling.OEModeling": [[40, "module-kinoml.modeling.OEModeling"]], "kinoml.modeling.SCHRODINGERModeling": [[41, "module-kinoml.modeling.SCHRODINGERModeling"]], "kinoml.modeling.alignment": [[42, "module-kinoml.modeling.alignment"]], "kinoml.modeling": [[43, "module-kinoml.modeling"]], "kinoml.optimize": [[44, "module-kinoml.optimize"]], "kinoml.utils": [[45, "module-kinoml.utils"]], "kinoml.workflows": [[46, "module-kinoml.workflows"]], "Warning!": [[47, null]], "KinoML": [[47, "kinoml"]], "OpenEye Structural Featurizer": [[48, "OpenEye-Structural-Featurizer"]], "OEProteinStructureFeaturizer": [[48, "OEProteinStructureFeaturizer"]], "OEComplexFeaturizer": [[48, "OEComplexFeaturizer"]], "OEDockingFeaturizer": [[48, "OEDockingFeaturizer"]], "Fred": [[48, "Fred"]], "Hybrid": [[48, "Hybrid"]], "Posit": [[48, "Posit"]], "MostSimilarPDBLigandFeaturizer": [[48, "MostSimilarPDBLigandFeaturizer"], [49, "MostSimilarPDBLigandFeaturizer"]], "Most common substructure": [[48, "Most-common-substructure"], [49, "Most-common-substructure"]], "Fingerprint": [[48, "Fingerprint"], [49, "Fingerprint"]], "OpenEye\u2019s shape": [[48, "OpenEye's-shape"]], "Pipeline of MostSimilarPDBLigandFeaturizer and OEDockingFeaturizer": [[48, "Pipeline-of-MostSimilarPDBLigandFeaturizer-and-OEDockingFeaturizer"]], "KLIFSConformationTemplatesFeaturizer": [[48, "KLIFSConformationTemplatesFeaturizer"], [49, "KLIFSConformationTemplatesFeaturizer"]], "Schrodinger Structural Featurizer": [[49, "Schrodinger-Structural-Featurizer"]], "SCHRODINGERComplexFeaturizer": [[49, "SCHRODINGERComplexFeaturizer"]], "SCHRODINGERDockingFeaturizer": [[49, "SCHRODINGERDockingFeaturizer"]], "Without shape restrain": [[49, "Without-shape-restrain"]], "With shape restrain": [[49, "With-shape-restrain"]], "Schrodinger\u2019s shape": [[49, "Schrodinger's-shape"]], "Pipeline of MostSimilarPDBLigandFeaturizer and SCHRODINGERDockingFeaturizer": [[49, "Pipeline-of-MostSimilarPDBLigandFeaturizer-and-SCHRODINGERDockingFeaturizer"]], "Getting started with KinoML": [[50, "Getting-started-with-KinoML"]], "Introduction": [[50, "Introduction"]], "Installation": [[50, "Installation"]], "Basic example": [[50, "Basic-example"]], "1. Obtaining your data": [[50, "1.-Obtaining-your-data"]], "DatasetProvider": [[50, "DatasetProvider"]], "2. Featurize your data": [[50, "2.-Featurize-your-data"]], "Featurizer": [[50, "Featurizer"]], "3. ML model training and testing": [[50, "3.-ML-model-training-and-testing"]], "ML training and testing": [[50, "ML-training-and-testing"]], "Kinase informed morgan 1024 experiment": [[51, "Kinase-informed-morgan-1024-experiment"]], "1. Featurize the dataset": [[51, "1.-Featurize-the-dataset"], [52, "1.-Featurize-the-dataset"], [54, "1.-Featurize-the-dataset"], [55, "1.-Featurize-the-dataset"]], "\u270f Define hyper parameters": [[51, "\u270f-Define-hyper-parameters"], [52, "\u270f-Define-hyper-parameters"], [54, "\u270f-Define-hyper-parameters"], [54, "id1"], [55, "\u270f-Define-hyper-parameters"], [55, "id1"]], "Setup is finished, start working": [[51, "Setup-is-finished,-start-working"], [52, "Setup-is-finished,-start-working"], [54, "Setup-is-finished,-start-working"], [55, "Setup-is-finished,-start-working"]], "Load raw data": [[51, "Load-raw-data"], [52, "Load-raw-data"], [54, "Load-raw-data"], [55, "Load-raw-data"]], "Featurize": [[51, "Featurize"], [52, "Featurize"], [54, "Featurize"], [55, "Featurize"]], "Filter": [[51, "Filter"], [52, "Filter"], [54, "Filter"], [55, "Filter"]], "Groups": [[51, "Groups"], [52, "Groups"], [54, "Groups"], [55, "Groups"]], "Write tensors to disk": [[51, "Write-tensors-to-disk"], [52, "Write-tensors-to-disk"], [54, "Write-tensors-to-disk"], [55, "Write-tensors-to-disk"]], "Reproducibility logs": [[51, "Reproducibility-logs"], [52, "Reproducibility-logs"], [54, "Reproducibility-logs"], [55, "Reproducibility-logs"]], "2. \ud83d\udcbbRun the experiment": [[51, "2.-\ud83d\udcbbRun-the-experiment"], [54, "2.-\ud83d\udcbbRun-the-experiment"], [55, "2.-\ud83d\udcbbRun-the-experiment"]], "Train a model with PyTorch": [[51, "Train-a-model-with-PyTorch"], [52, "Train-a-model-with-PyTorch"], [54, "Train-a-model-with-PyTorch"], [55, "Train-a-model-with-PyTorch"]], "\u270fDefine hyper parameters": [[51, "\u270fDefine-hyper-parameters"], [52, "\u270fDefine-hyper-parameters"]], "Load featurized data and create observation models": [[51, "Load-featurized-data-and-create-observation-models"], [52, "Load-featurized-data-and-create-observation-models"], [54, "Load-featurized-data-and-create-observation-models"], [55, "Load-featurized-data-and-create-observation-models"]], "Prepare splits and dataloaders": [[51, "Prepare-splits-and-dataloaders"], [52, "Prepare-splits-and-dataloaders"], [54, "Prepare-splits-and-dataloaders"], [55, "Prepare-splits-and-dataloaders"]], "Training loop": [[51, "Training-loop"], [52, "Training-loop"], [54, "Training-loop"], [55, "Training-loop"]], "Evaluate model": [[51, "Evaluate-model"], [52, "Evaluate-model"], [54, "Evaluate-model"], [55, "Evaluate-model"]], "P00533__pKiMeasurement": [[51, "P00533__pKiMeasurement"], [51, "id10"], [52, "P00533__pKiMeasurement"], [52, "id10"], [55, "P00533__pKiMeasurement"], [55, "id10"]], "train": [[51, "train"], [51, "id2"], [51, "id5"], [52, "train"], [52, "id2"], [52, "id5"], [54, "train"], [54, "id2"], [54, "id5"], [55, "train"], [55, "id2"], [55, "id5"]], "test": [[51, "test"], [51, "id3"], [51, "id6"], [52, "test"], [52, "id3"], [52, "id6"], [54, "test"], [54, "id3"], [54, "id6"], [55, "test"], [55, "id3"], [55, "id6"]], "val": [[51, "val"], [51, "id4"], [51, "id7"], [52, "val"], [52, "id4"], [52, "id7"], [54, "val"], [54, "id4"], [54, "id7"], [55, "val"], [55, "id4"], [55, "id7"]], "P00533__pKdMeasurement": [[51, "P00533__pKdMeasurement"], [51, "id8"], [52, "P00533__pKdMeasurement"], [52, "id8"], [55, "P00533__pKdMeasurement"], [55, "id9"]], "P00533__pIC50Measurement": [[51, "P00533__pIC50Measurement"], [51, "id9"], [52, "P00533__pIC50Measurement"], [52, "id9"], [55, "P00533__pIC50Measurement"], [55, "id8"]], "Summary": [[51, "Summary"], [52, "Summary"], [54, "Summary"], [55, "Summary"]], "Configuration": [[51, "Configuration"], [52, "Configuration"], [54, "Configuration"], [55, "Configuration"]], "Save reports to disk": [[51, "Save-reports-to-disk"], [52, "Save-reports-to-disk"], [54, "Save-reports-to-disk"], [55, "Save-reports-to-disk"]], "Kinase informed SMILES experiment": [[52, "Kinase-informed-SMILES-experiment"]], "2.\ud83d\udcbbRun the experiment": [[52, "2.\ud83d\udcbbRun-the-experiment"]], "KinoML object model": [[53, "KinoML-object-model"]], "Molecular components": [[53, "Molecular-components"]], "Ligands": [[53, "Ligands"]], "Proteins": [[53, "Proteins"]], "Systems": [[53, "Systems"]], "Featurizers": [[53, "Featurizers"]], "Measurements": [[53, "Measurements"]], "DatasetProviders": [[53, "DatasetProviders"]], "Ligand-only morgan 1024 experiment": [[54, "Ligand-only-morgan-1024-experiment"]], "pKdMeasurement": [[54, "pKdMeasurement"], [54, "id10"]], "pIC50Measurement": [[54, "pIC50Measurement"], [54, "id9"]], "pKiMeasurement": [[54, "pKiMeasurement"], [54, "id8"]], "Ligand-only SMILES experiment": [[55, "Ligand-only-SMILES-experiment"]]}, "indexentries": {"handlers (in module kinoml._version)": [[0, "kinoml._version.HANDLERS"]], "long_version_py (in module kinoml._version)": [[0, "kinoml._version.LONG_VERSION_PY"]], "notthismethod": [[0, "kinoml._version.NotThisMethod"]], "versioneerconfig (class in kinoml._version)": [[0, "kinoml._version.VersioneerConfig"]], "get_config() (in module kinoml._version)": [[0, "kinoml._version.get_config"]], "get_keywords() (in module kinoml._version)": [[0, "kinoml._version.get_keywords"]], "get_versions() (in module kinoml._version)": [[0, "kinoml._version.get_versions"]], "git_get_keywords() (in module kinoml._version)": [[0, "kinoml._version.git_get_keywords"]], "git_pieces_from_vcs() (in module kinoml._version)": [[0, "kinoml._version.git_pieces_from_vcs"]], "git_versions_from_keywords() (in module kinoml._version)": [[0, "kinoml._version.git_versions_from_keywords"]], "kinoml._version": [[0, "module-kinoml._version"]], "module": [[0, "module-kinoml._version"], [1, "module-kinoml.analysis"], [2, "module-kinoml.analysis.metrics"], [3, "module-kinoml.analysis.plots"], [4, "module-kinoml.core.components"], [5, "module-kinoml.core.conditions"], [6, "module-kinoml.core"], [7, "module-kinoml.core.ligands"], [8, "module-kinoml.core.measurements"], [9, "module-kinoml.core.proteins"], [10, "module-kinoml.core.sequences"], [11, "module-kinoml.core.systems"], [12, "module-kinoml.databases"], [13, "module-kinoml.databases.klifs"], [14, "module-kinoml.databases.pdb"], [15, "module-kinoml.databases.uniprot"], [16, "module-kinoml.datasets.chembl"], [17, "module-kinoml.datasets.core"], [18, "module-kinoml.datasets.groups"], [19, "module-kinoml.datasets"], [20, "module-kinoml.datasets.pkis2"], [21, "module-kinoml.datasets.torch_datasets"], [22, "module-kinoml.datasets.torch_geometric_datasets"], [23, "module-kinoml.docking.OEDocking"], [24, "module-kinoml.docking.SCHRODINGERDocking"], [25, "module-kinoml.docking"], [26, "module-kinoml.features.complexes"], [27, "module-kinoml.features.core"], [28, "module-kinoml.features"], [29, "module-kinoml.features.ligand"], [30, "module-kinoml.features.protein"], [31, "module-kinoml"], [32, "module-kinoml.ml"], [33, "module-kinoml.ml.lightning_modules"], [34, "module-kinoml.ml.tensorflow_models"], [35, "module-kinoml.ml.torch_geometric_models"], [36, "module-kinoml.ml.torch_loops"], [37, "module-kinoml.ml.torch_models"], [38, "module-kinoml.ml.torch_trees"], [39, "module-kinoml.modeling.MDAnalysisModeling"], [40, "module-kinoml.modeling.OEModeling"], [41, "module-kinoml.modeling.SCHRODINGERModeling"], [42, "module-kinoml.modeling.alignment"], [43, "module-kinoml.modeling"], [44, "module-kinoml.optimize"], [45, "module-kinoml.utils"], [46, "module-kinoml.workflows"]], "plus_or_dot() (in module kinoml._version)": [[0, "kinoml._version.plus_or_dot"]], "register_vcs_handler() (in module kinoml._version)": [[0, "kinoml._version.register_vcs_handler"]], "render() (in module kinoml._version)": [[0, "kinoml._version.render"]], "render_git_describe() (in module kinoml._version)": [[0, "kinoml._version.render_git_describe"]], "render_git_describe_long() (in module kinoml._version)": [[0, "kinoml._version.render_git_describe_long"]], "render_pep440() (in module kinoml._version)": [[0, "kinoml._version.render_pep440"]], "render_pep440_old() (in module kinoml._version)": [[0, "kinoml._version.render_pep440_old"]], "render_pep440_post() (in module kinoml._version)": [[0, "kinoml._version.render_pep440_post"]], "render_pep440_pre() (in module kinoml._version)": [[0, "kinoml._version.render_pep440_pre"]], "run_command() (in module kinoml._version)": [[0, "kinoml._version.run_command"]], "versions_from_parentdir() (in module kinoml._version)": [[0, "kinoml._version.versions_from_parentdir"]], "kinoml.analysis": [[1, "module-kinoml.analysis"]], "kinoml.analysis.metrics": [[2, "module-kinoml.analysis.metrics"]], "performance() (in module kinoml.analysis.metrics)": [[2, "kinoml.analysis.metrics.performance"]], "root_mean_squared_error() (in module kinoml.analysis.metrics)": [[2, "kinoml.analysis.metrics.root_mean_squared_error"]], "kinoml.analysis.plots": [[3, "module-kinoml.analysis.plots"]], "predicted_vs_observed() (in module kinoml.analysis.plots)": [[3, "kinoml.analysis.plots.predicted_vs_observed"]], "baseligand (class in kinoml.core.components)": [[4, "kinoml.core.components.BaseLigand"]], "baseprotein (class in kinoml.core.components)": [[4, "kinoml.core.components.BaseProtein"]], "molecularcomponent (class in kinoml.core.components)": [[4, "kinoml.core.components.MolecularComponent"]], "__repr__() (kinoml.core.components.molecularcomponent method)": [[4, "kinoml.core.components.MolecularComponent.__repr__"]], "kinoml.core.components": [[4, "module-kinoml.core.components"]], "assayconditions (class in kinoml.core.conditions)": [[5, "kinoml.core.conditions.AssayConditions"]], "baseconditions (class in kinoml.core.conditions)": [[5, "kinoml.core.conditions.BaseConditions"]], "__eq__() (kinoml.core.conditions.baseconditions method)": [[5, "kinoml.core.conditions.BaseConditions.__eq__"]], "__hash__() (kinoml.core.conditions.baseconditions method)": [[5, "kinoml.core.conditions.BaseConditions.__hash__"]], "__repr__() (kinoml.core.conditions.baseconditions method)": [[5, "kinoml.core.conditions.BaseConditions.__repr__"]], "_properties() (kinoml.core.conditions.baseconditions method)": [[5, "kinoml.core.conditions.BaseConditions._properties"]], "check() (kinoml.core.conditions.assayconditions method)": [[5, "kinoml.core.conditions.AssayConditions.check"]], "check() (kinoml.core.conditions.baseconditions method)": [[5, "kinoml.core.conditions.BaseConditions.check"]], "kinoml.core.conditions": [[5, "module-kinoml.core.conditions"]], "ph (kinoml.core.conditions.assayconditions property)": [[5, "kinoml.core.conditions.AssayConditions.pH"]], "kinoml.core": [[6, "module-kinoml.core"]], "ligand (class in kinoml.core.ligands)": [[7, "kinoml.core.ligands.Ligand"]], "from_file() (kinoml.core.ligands.ligand class method)": [[7, "kinoml.core.ligands.Ligand.from_file"]], "from_smiles() (kinoml.core.ligands.ligand class method)": [[7, "kinoml.core.ligands.Ligand.from_smiles"]], "kinoml.core.ligands": [[7, "module-kinoml.core.ligands"]], "logger (in module kinoml.core.ligands)": [[7, "kinoml.core.ligands.logger"]], "molecule (kinoml.core.ligands.ligand property)": [[7, "kinoml.core.ligands.Ligand.molecule"]], "molecule() (kinoml.core.ligands.ligand method)": [[7, "id0"]], "basemeasurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.BaseMeasurement"]], "ln10 (in module kinoml.core.measurements)": [[8, "kinoml.core.measurements.LN10"]], "observationmodelmeasurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.ObservationModelMeasurement"]], "percentagedisplacementmeasurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement"]], "range (kinoml.core.measurements.basemeasurement attribute)": [[8, "id0"], [8, "kinoml.core.measurements.BaseMeasurement.RANGE"]], "range (kinoml.core.measurements.percentagedisplacementmeasurement attribute)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement.RANGE"]], "range (kinoml.core.measurements.pic50measurement attribute)": [[8, "kinoml.core.measurements.pIC50Measurement.RANGE"]], "range (kinoml.core.measurements.pkdmeasurement attribute)": [[8, "kinoml.core.measurements.pKdMeasurement.RANGE"]], "range (kinoml.core.measurements.pkimeasurement attribute)": [[8, "kinoml.core.measurements.pKiMeasurement.RANGE"]], "__eq__() (kinoml.core.measurements.basemeasurement method)": [[8, "kinoml.core.measurements.BaseMeasurement.__eq__"]], "__repr__() (kinoml.core.measurements.basemeasurement method)": [[8, "kinoml.core.measurements.BaseMeasurement.__repr__"]], "_loss_adapter_generic() (kinoml.core.measurements.observationmodelmeasurement static method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._loss_adapter_generic"]], "_loss_adapter_pytorch() (kinoml.core.measurements.observationmodelmeasurement class method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._loss_adapter_pytorch"]], "_loss_adapter_xgboost_mse() (kinoml.core.measurements.percentagedisplacementmeasurement static method)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement._loss_adapter_xgboost_mse"]], "_loss_adapter_xgboost_mse() (kinoml.core.measurements.pic50measurement static method)": [[8, "kinoml.core.measurements.pIC50Measurement._loss_adapter_xgboost_mse"]], "_loss_adapter_xgboost_mse() (kinoml.core.measurements.pkdmeasurement static method)": [[8, "kinoml.core.measurements.pKdMeasurement._loss_adapter_xgboost_mse"]], "_loss_adapter_xgboost_mse() (kinoml.core.measurements.pkimeasurement static method)": [[8, "kinoml.core.measurements.pKiMeasurement._loss_adapter_xgboost_mse"]], "_observation_model() (kinoml.core.measurements.observationmodelmeasurement class method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._observation_model"]], "_observation_model_null() (kinoml.core.measurements.observationmodelmeasurement static method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._observation_model_null"]], "_observation_model_numpy (kinoml.core.measurements.pic50measurement attribute)": [[8, "kinoml.core.measurements.pIC50Measurement._observation_model_numpy"]], "_observation_model_numpy (kinoml.core.measurements.pkdmeasurement attribute)": [[8, "kinoml.core.measurements.pKdMeasurement._observation_model_numpy"]], "_observation_model_numpy (kinoml.core.measurements.pkimeasurement attribute)": [[8, "kinoml.core.measurements.pKiMeasurement._observation_model_numpy"]], "_observation_model_numpy() (kinoml.core.measurements.percentagedisplacementmeasurement static method)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement._observation_model_numpy"]], "_observation_model_pytorch() (kinoml.core.measurements.observationmodelmeasurement static method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._observation_model_pytorch"]], "_observation_model_pytorch() (kinoml.core.measurements.percentagedisplacementmeasurement static method)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement._observation_model_pytorch"]], "_observation_model_pytorch() (kinoml.core.measurements.pic50measurement static method)": [[8, "kinoml.core.measurements.pIC50Measurement._observation_model_pytorch"]], "_observation_model_pytorch() (kinoml.core.measurements.pkdmeasurement static method)": [[8, "kinoml.core.measurements.pKdMeasurement._observation_model_pytorch"]], "_observation_model_pytorch() (kinoml.core.measurements.pkimeasurement static method)": [[8, "kinoml.core.measurements.pKiMeasurement._observation_model_pytorch"]], "_observation_model_xgboost (kinoml.core.measurements.percentagedisplacementmeasurement attribute)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement._observation_model_xgboost"]], "_observation_model_xgboost (kinoml.core.measurements.pic50measurement attribute)": [[8, "kinoml.core.measurements.pIC50Measurement._observation_model_xgboost"]], "_observation_model_xgboost (kinoml.core.measurements.pkdmeasurement attribute)": [[8, "kinoml.core.measurements.pKdMeasurement._observation_model_xgboost"]], "_observation_model_xgboost (kinoml.core.measurements.pkimeasurement attribute)": [[8, "kinoml.core.measurements.pKiMeasurement._observation_model_xgboost"]], "_observation_model_xgboost() (kinoml.core.measurements.observationmodelmeasurement static method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._observation_model_xgboost"]], "_post_loss_adapter() (kinoml.core.measurements.observationmodelmeasurement static method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement._post_loss_adapter"]], "_post_loss_adapter() (kinoml.core.measurements.percentagedisplacementmeasurement static method)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement._post_loss_adapter"]], "_post_loss_adapter() (kinoml.core.measurements.pic50measurement static method)": [[8, "kinoml.core.measurements.pIC50Measurement._post_loss_adapter"]], "_post_loss_adapter() (kinoml.core.measurements.pkdmeasurement static method)": [[8, "kinoml.core.measurements.pKdMeasurement._post_loss_adapter"]], "_post_loss_adapter() (kinoml.core.measurements.pkimeasurement static method)": [[8, "kinoml.core.measurements.pKiMeasurement._post_loss_adapter"]], "check() (kinoml.core.measurements.basemeasurement method)": [[8, "kinoml.core.measurements.BaseMeasurement.check"]], "check() (kinoml.core.measurements.percentagedisplacementmeasurement method)": [[8, "kinoml.core.measurements.PercentageDisplacementMeasurement.check"]], "check() (kinoml.core.measurements.pic50measurement method)": [[8, "kinoml.core.measurements.pIC50Measurement.check"]], "check() (kinoml.core.measurements.pkdmeasurement method)": [[8, "kinoml.core.measurements.pKdMeasurement.check"]], "check() (kinoml.core.measurements.pkimeasurement method)": [[8, "kinoml.core.measurements.pKiMeasurement.check"]], "errors (kinoml.core.measurements.basemeasurement property)": [[8, "kinoml.core.measurements.BaseMeasurement.errors"]], "kinoml.core.measurements": [[8, "module-kinoml.core.measurements"]], "loss_adapter() (kinoml.core.measurements.observationmodelmeasurement class method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement.loss_adapter"]], "null_observation_model() (in module kinoml.core.measurements)": [[8, "kinoml.core.measurements.null_observation_model"]], "observation_model() (kinoml.core.measurements.observationmodelmeasurement class method)": [[8, "kinoml.core.measurements.ObservationModelMeasurement.observation_model"]], "pic50measurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.pIC50Measurement"]], "pkdmeasurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.pKdMeasurement"]], "pkimeasurement (class in kinoml.core.measurements)": [[8, "kinoml.core.measurements.pKiMeasurement"]], "values (kinoml.core.measurements.basemeasurement property)": [[8, "kinoml.core.measurements.BaseMeasurement.values"]], "klifskinase (class in kinoml.core.proteins)": [[9, "kinoml.core.proteins.KLIFSKinase"]], "protein (class in kinoml.core.proteins)": [[9, "kinoml.core.proteins.Protein"]], "_query_klifs() (kinoml.core.proteins.klifskinase method)": [[9, "kinoml.core.proteins.KLIFSKinase._query_klifs"]], "_query_sequence_sources() (kinoml.core.proteins.klifskinase method)": [[9, "kinoml.core.proteins.KLIFSKinase._query_sequence_sources"]], "from_file() (kinoml.core.proteins.protein class method)": [[9, "kinoml.core.proteins.Protein.from_file"]], "from_pdb() (kinoml.core.proteins.protein class method)": [[9, "kinoml.core.proteins.Protein.from_pdb"]], "kinase_klifs_sequence (kinoml.core.proteins.klifskinase property)": [[9, "kinoml.core.proteins.KLIFSKinase.kinase_klifs_sequence"]], "kinase_klifs_sequence() (kinoml.core.proteins.klifskinase method)": [[9, "id1"]], "kinoml.core.proteins": [[9, "module-kinoml.core.proteins"]], "logger (in module kinoml.core.proteins)": [[9, "kinoml.core.proteins.logger"]], "molecule (kinoml.core.proteins.protein property)": [[9, "kinoml.core.proteins.Protein.molecule"]], "molecule() (kinoml.core.proteins.protein method)": [[9, "id0"]], "pdb_id (kinoml.core.proteins.protein property)": [[9, "kinoml.core.proteins.Protein.pdb_id"]], "structure_klifs_residues (kinoml.core.proteins.klifskinase property)": [[9, "kinoml.core.proteins.KLIFSKinase.structure_klifs_residues"]], "structure_klifs_residues() (kinoml.core.proteins.klifskinase method)": [[9, "id3"]], "structure_klifs_sequence (kinoml.core.proteins.klifskinase property)": [[9, "kinoml.core.proteins.KLIFSKinase.structure_klifs_sequence"]], "structure_klifs_sequence() (kinoml.core.proteins.klifskinase method)": [[9, "id2"]], "alphabet (kinoml.core.sequences.aminoacidsequence attribute)": [[10, "kinoml.core.sequences.AminoAcidSequence.ALPHABET"]], "alphabet (kinoml.core.sequences.biosequence attribute)": [[10, "kinoml.core.sequences.Biosequence.ALPHABET"]], "alphabet (kinoml.core.sequences.dnasequence attribute)": [[10, "kinoml.core.sequences.DNASequence.ALPHABET"]], "alphabet (kinoml.core.sequences.rnasequence attribute)": [[10, "kinoml.core.sequences.RNASequence.ALPHABET"]], "aminoacidsequence (class in kinoml.core.sequences)": [[10, "kinoml.core.sequences.AminoAcidSequence"]], "biosequence (class in kinoml.core.sequences)": [[10, "kinoml.core.sequences.Biosequence"]], "dnasequence (class in kinoml.core.sequences)": [[10, "kinoml.core.sequences.DNASequence"]], "rnasequence (class in kinoml.core.sequences)": [[10, "kinoml.core.sequences.RNASequence"]], "_query_ncbi() (kinoml.core.sequences.aminoacidsequence method)": [[10, "kinoml.core.sequences.AminoAcidSequence._query_ncbi"]], "_query_sequence_sources() (kinoml.core.sequences.aminoacidsequence method)": [[10, "kinoml.core.sequences.AminoAcidSequence._query_sequence_sources"]], "_query_sequence_sources() (kinoml.core.sequences.biosequence method)": [[10, "kinoml.core.sequences.Biosequence._query_sequence_sources"]], "_query_uniprot() (kinoml.core.sequences.aminoacidsequence method)": [[10, "kinoml.core.sequences.AminoAcidSequence._query_uniprot"]], "delete() (kinoml.core.sequences.biosequence method)": [[10, "kinoml.core.sequences.Biosequence.delete"]], "insert() (kinoml.core.sequences.biosequence method)": [[10, "kinoml.core.sequences.Biosequence.insert"]], "kinoml.core.sequences": [[10, "module-kinoml.core.sequences"]], "logger (in module kinoml.core.sequences)": [[10, "kinoml.core.sequences.logger"]], "ncbi_to_uniprot() (kinoml.core.sequences.aminoacidsequence static method)": [[10, "kinoml.core.sequences.AminoAcidSequence.ncbi_to_uniprot"]], "sequence (kinoml.core.sequences.biosequence property)": [[10, "kinoml.core.sequences.Biosequence.sequence"]], "sequence() (kinoml.core.sequences.biosequence method)": [[10, "id0"]], "substitute() (kinoml.core.sequences.biosequence method)": [[10, "kinoml.core.sequences.Biosequence.substitute"]], "ligandsystem (class in kinoml.core.systems)": [[11, "kinoml.core.systems.LigandSystem"]], "proteinligandcomplex (class in kinoml.core.systems)": [[11, "kinoml.core.systems.ProteinLigandComplex"]], "proteinsystem (class in kinoml.core.systems)": [[11, "kinoml.core.systems.ProteinSystem"]], "system (class in kinoml.core.systems)": [[11, "kinoml.core.systems.System"]], "__repr__() (kinoml.core.systems.system method)": [[11, "kinoml.core.systems.System.__repr__"]], "_components_by_type() (kinoml.core.systems.system method)": [[11, "kinoml.core.systems.System._components_by_type"]], "check() (kinoml.core.systems.ligandsystem method)": [[11, "kinoml.core.systems.LigandSystem.check"]], "check() (kinoml.core.systems.proteinligandcomplex method)": [[11, "kinoml.core.systems.ProteinLigandComplex.check"]], "check() (kinoml.core.systems.proteinsystem method)": [[11, "kinoml.core.systems.ProteinSystem.check"]], "check() (kinoml.core.systems.system method)": [[11, "kinoml.core.systems.System.check"]], "featurizations (kinoml.core.systems.system attribute)": [[11, "kinoml.core.systems.System.featurizations"]], "kinoml.core.systems": [[11, "module-kinoml.core.systems"]], "ligand (kinoml.core.systems.ligandsystem property)": [[11, "kinoml.core.systems.LigandSystem.ligand"]], "ligands (kinoml.core.systems.ligandsystem property)": [[11, "kinoml.core.systems.LigandSystem.ligands"]], "name (kinoml.core.systems.system property)": [[11, "kinoml.core.systems.System.name"]], "protein (kinoml.core.systems.proteinsystem property)": [[11, "kinoml.core.systems.ProteinSystem.protein"]], "proteins (kinoml.core.systems.proteinsystem property)": [[11, "kinoml.core.systems.ProteinSystem.proteins"]], "weight (kinoml.core.systems.system property)": [[11, "kinoml.core.systems.System.weight"]], "kinoml.databases": [[12, "module-kinoml.databases"]], "kinoml.databases.klifs": [[13, "module-kinoml.databases.klifs"]], "klifs_kinase_from_uniprot_id() (in module kinoml.databases.klifs)": [[13, "kinoml.databases.klifs.klifs_kinase_from_uniprot_id"]], "download_pdb_ligand() (in module kinoml.databases.pdb)": [[14, "kinoml.databases.pdb.download_pdb_ligand"]], "download_pdb_structure() (in module kinoml.databases.pdb)": [[14, "kinoml.databases.pdb.download_pdb_structure"]], "kinoml.databases.pdb": [[14, "module-kinoml.databases.pdb"]], "logger (in module kinoml.databases.pdb)": [[14, "kinoml.databases.pdb.logger"]], "smiles_from_pdb() (in module kinoml.databases.pdb)": [[14, "kinoml.databases.pdb.smiles_from_pdb"]], "download_fasta_file() (in module kinoml.databases.uniprot)": [[15, "kinoml.databases.uniprot.download_fasta_file"]], "kinoml.databases.uniprot": [[15, "module-kinoml.databases.uniprot"]], "chembldatasetprovider (class in kinoml.datasets.chembl)": [[16, "kinoml.datasets.chembl.ChEMBLDatasetProvider"]], "from_source() (kinoml.datasets.chembl.chembldatasetprovider class method)": [[16, "kinoml.datasets.chembl.ChEMBLDatasetProvider.from_source"]], "kinoml.datasets.chembl": [[16, "module-kinoml.datasets.chembl"]], "logger (in module kinoml.datasets.chembl)": [[16, "kinoml.datasets.chembl.logger"]], "basedatasetprovider (class in kinoml.datasets.core)": [[17, "kinoml.datasets.core.BaseDatasetProvider"]], "datasetprovider (class in kinoml.datasets.core)": [[17, "kinoml.datasets.core.DatasetProvider"]], "multidatasetprovider (class in kinoml.datasets.core)": [[17, "kinoml.datasets.core.MultiDatasetProvider"]], "__getitem__() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.__getitem__"]], "__len__() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.__len__"]], "__repr__() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.__repr__"]], "__repr__() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.__repr__"]], "_download_to_cache_or_retrieve() (kinoml.datasets.core.datasetprovider class method)": [[17, "kinoml.datasets.core.DatasetProvider._download_to_cache_or_retrieve"]], "_post_featurize() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider._post_featurize"]], "_post_featurize() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider._post_featurize"]], "_raw_data (kinoml.datasets.core.datasetprovider attribute)": [[17, "kinoml.datasets.core.DatasetProvider._raw_data"]], "_to_dataset() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider._to_dataset"]], "conditions (kinoml.datasets.core.basedatasetprovider property)": [[17, "kinoml.datasets.core.BaseDatasetProvider.conditions"]], "conditions (kinoml.datasets.core.datasetprovider property)": [[17, "kinoml.datasets.core.DatasetProvider.conditions"]], "featurize() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.featurize"]], "featurize() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.featurize"]], "featurized_systems() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.featurized_systems"]], "featurized_systems() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.featurized_systems"]], "from_source() (kinoml.datasets.core.basedatasetprovider class method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.from_source"]], "from_source() (kinoml.datasets.core.datasetprovider class method)": [[17, "kinoml.datasets.core.DatasetProvider.from_source"]], "indices_by_provider() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.indices_by_provider"]], "kinoml.datasets.core": [[17, "module-kinoml.datasets.core"]], "logger (in module kinoml.datasets.core)": [[17, "kinoml.datasets.core.logger"]], "loss_adapter() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.loss_adapter"]], "loss_adapter() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.loss_adapter"]], "loss_adapters() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.loss_adapters"]], "measurement_type (kinoml.datasets.core.basedatasetprovider property)": [[17, "kinoml.datasets.core.BaseDatasetProvider.measurement_type"]], "measurement_type (kinoml.datasets.core.datasetprovider property)": [[17, "kinoml.datasets.core.DatasetProvider.measurement_type"]], "measurements (kinoml.datasets.core.multidatasetprovider property)": [[17, "kinoml.datasets.core.MultiDatasetProvider.measurements"]], "measurements_as_array() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.measurements_as_array"]], "measurements_as_array() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.measurements_as_array"]], "measurements_by_group() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.measurements_by_group"]], "observation_model() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.observation_model"]], "observation_model() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.observation_model"]], "observation_model() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.observation_model"]], "observation_models() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.observation_models"]], "split_by_groups() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.split_by_groups"]], "systems (kinoml.datasets.core.basedatasetprovider property)": [[17, "kinoml.datasets.core.BaseDatasetProvider.systems"]], "systems (kinoml.datasets.core.datasetprovider property)": [[17, "kinoml.datasets.core.DatasetProvider.systems"]], "to_awkward() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_awkward"]], "to_awkward() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_awkward"]], "to_dataframe() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.to_dataframe"]], "to_dataframe() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_dataframe"]], "to_dataframe() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_dataframe"]], "to_dict_of_arrays() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_dict_of_arrays"]], "to_dict_of_arrays() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_dict_of_arrays"]], "to_numpy() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.to_numpy"]], "to_numpy() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_numpy"]], "to_numpy() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_numpy"]], "to_pytorch() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.to_pytorch"]], "to_pytorch() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_pytorch"]], "to_pytorch() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_pytorch"]], "to_tensorflow() (kinoml.datasets.core.basedatasetprovider method)": [[17, "kinoml.datasets.core.BaseDatasetProvider.to_tensorflow"]], "to_tensorflow() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_tensorflow"]], "to_xgboost() (kinoml.datasets.core.datasetprovider method)": [[17, "kinoml.datasets.core.DatasetProvider.to_xgboost"]], "to_xgboost() (kinoml.datasets.core.multidatasetprovider method)": [[17, "kinoml.datasets.core.MultiDatasetProvider.to_xgboost"]], "basefilter (class in kinoml.datasets.groups)": [[18, "kinoml.datasets.groups.BaseFilter"]], "basegrouper (class in kinoml.datasets.groups)": [[18, "kinoml.datasets.groups.BaseGrouper"]], "callablegrouper (class in kinoml.datasets.groups)": [[18, "kinoml.datasets.groups.CallableGrouper"]], "randomgrouper (class in kinoml.datasets.groups)": [[18, "kinoml.datasets.groups.RandomGrouper"]], "assign() (kinoml.datasets.groups.basegrouper method)": [[18, "kinoml.datasets.groups.BaseGrouper.assign"]], "indices() (kinoml.datasets.groups.basegrouper method)": [[18, "kinoml.datasets.groups.BaseGrouper.indices"]], "indices() (kinoml.datasets.groups.callablegrouper method)": [[18, "kinoml.datasets.groups.CallableGrouper.indices"]], "indices() (kinoml.datasets.groups.randomgrouper method)": [[18, "kinoml.datasets.groups.RandomGrouper.indices"]], "kinoml.datasets.groups": [[18, "module-kinoml.datasets.groups"]], "kinoml.datasets": [[19, "module-kinoml.datasets"]], "pkis2datasetprovider (class in kinoml.datasets.pkis2)": [[20, "kinoml.datasets.pkis2.PKIS2DatasetProvider"]], "from_source() (kinoml.datasets.pkis2.pkis2datasetprovider class method)": [[20, "kinoml.datasets.pkis2.PKIS2DatasetProvider.from_source"]], "kinoml.datasets.pkis2": [[20, "module-kinoml.datasets.pkis2"]], "logger (in module kinoml.datasets.pkis2)": [[20, "kinoml.datasets.pkis2.logger"]], "awkwardarraydataset (class in kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset"]], "multixtorchdataset (class in kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset"]], "prefeaturizedtorchdataset (class in kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset"]], "torchdataset (class in kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets.TorchDataset"]], "xytorchdataset (class in kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets.XyTorchDataset"]], "__getitem__() (kinoml.datasets.torch_datasets.awkwardarraydataset method)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset.__getitem__"]], "__getitem__() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset.__getitem__"]], "__getitem__() (kinoml.datasets.torch_datasets.prefeaturizedtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset.__getitem__"]], "__getitem__() (kinoml.datasets.torch_datasets.torchdataset method)": [[21, "kinoml.datasets.torch_datasets.TorchDataset.__getitem__"]], "__getitem__() (kinoml.datasets.torch_datasets.xytorchdataset method)": [[21, "kinoml.datasets.torch_datasets.XyTorchDataset.__getitem__"]], "__len__() (kinoml.datasets.torch_datasets.awkwardarraydataset method)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset.__len__"]], "__len__() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset.__len__"]], "__len__() (kinoml.datasets.torch_datasets.prefeaturizedtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset.__len__"]], "__len__() (kinoml.datasets.torch_datasets.xytorchdataset method)": [[21, "kinoml.datasets.torch_datasets.XyTorchDataset.__len__"]], "__repr__() (kinoml.datasets.torch_datasets.awkwardarraydataset method)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset.__repr__"]], "__str__() (kinoml.datasets.torch_datasets.awkwardarraydataset method)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset.__str__"]], "_accessor_to_indices() (in module kinoml.datasets.torch_datasets)": [[21, "kinoml.datasets.torch_datasets._accessor_to_indices"]], "_getitem_multi_x() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset._getitem_multi_X"]], "_getitem_single_x() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset._getitem_single_X"]], "_key_to_ints() (kinoml.datasets.torch_datasets.multixtorchdataset static method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset._key_to_ints"]], "_shape_x() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset._shape_X"]], "_str_keys_to_nested_dict() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset._str_keys_to_nested_dict"]], "as_dataloader() (kinoml.datasets.torch_datasets.prefeaturizedtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset.as_dataloader"]], "estimate_input_size() (kinoml.datasets.torch_datasets.prefeaturizedtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.PrefeaturizedTorchDataset.estimate_input_size"]], "estimate_input_size() (kinoml.datasets.torch_datasets.torchdataset method)": [[21, "kinoml.datasets.torch_datasets.TorchDataset.estimate_input_size"]], "from_npz() (kinoml.datasets.torch_datasets.multixtorchdataset class method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset.from_npz"]], "from_npz() (kinoml.datasets.torch_datasets.xytorchdataset class method)": [[21, "kinoml.datasets.torch_datasets.XyTorchDataset.from_npz"]], "from_parquet() (kinoml.datasets.torch_datasets.awkwardarraydataset class method)": [[21, "kinoml.datasets.torch_datasets.AwkwardArrayDataset.from_parquet"]], "input_size() (kinoml.datasets.torch_datasets.xytorchdataset method)": [[21, "kinoml.datasets.torch_datasets.XyTorchDataset.input_size"]], "is_single_x() (kinoml.datasets.torch_datasets.multixtorchdataset method)": [[21, "kinoml.datasets.torch_datasets.MultiXTorchDataset.is_single_X"]], "kinoml.datasets.torch_datasets": [[21, "module-kinoml.datasets.torch_datasets"]], "awkwardarraygeometricdataset (class in kinoml.datasets.torch_geometric_datasets)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset"]], "__getitem__() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.__getitem__"]], "__iter__() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.__iter__"]], "__len__() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.__len__"]], "__repr__() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.__repr__"]], "__str__() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.__str__"]], "from_parquet() (kinoml.datasets.torch_geometric_datasets.awkwardarraygeometricdataset class method)": [[22, "kinoml.datasets.torch_geometric_datasets.AwkwardArrayGeometricDataset.from_parquet"]], "kinoml.datasets.torch_geometric_datasets": [[22, "module-kinoml.datasets.torch_geometric_datasets"]], "fred_docking() (in module kinoml.docking.oedocking)": [[23, "kinoml.docking.OEDocking.fred_docking"]], "hybrid_docking() (in module kinoml.docking.oedocking)": [[23, "kinoml.docking.OEDocking.hybrid_docking"]], "kinoml.docking.oedocking": [[23, "module-kinoml.docking.OEDocking"]], "pose_molecules() (in module kinoml.docking.oedocking)": [[23, "kinoml.docking.OEDocking.pose_molecules"]], "resids_to_box_molecule() (in module kinoml.docking.oedocking)": [[23, "kinoml.docking.OEDocking.resids_to_box_molecule"]], "run_docking() (in module kinoml.docking.oedocking)": [[23, "kinoml.docking.OEDocking.run_docking"]], "kinoml.docking.schrodingerdocking": [[24, "module-kinoml.docking.SCHRODINGERDocking"]], "logger (in module kinoml.docking.schrodingerdocking)": [[24, "kinoml.docking.SCHRODINGERDocking.logger"]], "run_glide() (in module kinoml.docking.schrodingerdocking)": [[24, "kinoml.docking.SCHRODINGERDocking.run_glide"]], "kinoml.docking": [[25, "module-kinoml.docking"]], "klifsconformationtemplatesfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer"]], "mostsimilarpdbligandfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer"]], "oecomplexfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.OEComplexFeaturizer"]], "oedockingfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.OEDockingFeaturizer"]], "schrodingercomplexfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer"]], "schrodingerdockingfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer"]], "singleligandproteincomplexfeaturizer (class in kinoml.features.complexes)": [[26, "kinoml.features.complexes.SingleLigandProteinComplexFeaturizer"]], "_compatible_ligand_types (kinoml.features.complexes.singleligandproteincomplexfeaturizer attribute)": [[26, "kinoml.features.complexes.SingleLigandProteinComplexFeaturizer._COMPATIBLE_LIGAND_TYPES"]], "_compatible_protein_types (kinoml.features.complexes.klifsconformationtemplatesfeaturizer attribute)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._COMPATIBLE_PROTEIN_TYPES"]], "_compatible_protein_types (kinoml.features.complexes.singleligandproteincomplexfeaturizer attribute)": [[26, "kinoml.features.complexes.SingleLigandProteinComplexFeaturizer._COMPATIBLE_PROTEIN_TYPES"]], "_supported_similarity_metrics (kinoml.features.complexes.mostsimilarpdbligandfeaturizer attribute)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._SUPPORTED_SIMILARITY_METRICS"]], "_supported_types (kinoml.features.complexes.mostsimilarpdbligandfeaturizer attribute)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._SUPPORTED_TYPES"]], "_supported_types (kinoml.features.complexes.oecomplexfeaturizer attribute)": [[26, "kinoml.features.complexes.OEComplexFeaturizer._SUPPORTED_TYPES"]], "_supported_types (kinoml.features.complexes.oedockingfeaturizer attribute)": [[26, "kinoml.features.complexes.OEDockingFeaturizer._SUPPORTED_TYPES"]], "_supported_types (kinoml.features.complexes.schrodingercomplexfeaturizer attribute)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._SUPPORTED_TYPES"]], "_supported_types (kinoml.features.complexes.schrodingerdockingfeaturizer attribute)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._SUPPORTED_TYPES"]], "_add_ligand_entity_info() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer static method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._add_ligand_entity_info"]], "_add_pdb_resolution() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer static method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._add_pdb_resolution"]], "_by_fingerprint() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer static method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._by_fingerprint"]], "_by_klifs_sequence() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer static method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._by_klifs_sequence"]], "_by_mcs() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer static method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._by_mcs"]], "_by_openeye_shape() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._by_openeye_shape"]], "_by_schrodinger_shape() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._by_schrodinger_shape"]], "_check_schrodinger() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._check_schrodinger"]], "_create_klifs_structure_db() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._create_klifs_structure_db"]], "_dock_molecule() (kinoml.features.complexes.schrodingerdockingfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._dock_molecule"]], "_featurize_one() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.complexes.oecomplexfeaturizer method)": [[26, "kinoml.features.complexes.OEComplexFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.complexes.oedockingfeaturizer method)": [[26, "kinoml.features.complexes.OEDockingFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.complexes.schrodingercomplexfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.complexes.schrodingerdockingfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._featurize_one"]], "_filter_structures() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer static method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._filter_structures"]], "_get_most_similar_klifs_ligand_entity() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._get_most_similar_klifs_ligand_entity"]], "_get_most_similar_pdb_ligand_entity() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._get_most_similar_pdb_ligand_entity"]], "_get_pdb_ligand_entities() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._get_pdb_ligand_entities"]], "_post_featurize() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._post_featurize"]], "_post_featurize() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._post_featurize"]], "_postprocess_structure() (kinoml.features.complexes.schrodingercomplexfeaturizer static method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._postprocess_structure"]], "_pre_featurize() (kinoml.features.complexes.klifsconformationtemplatesfeaturizer method)": [[26, "kinoml.features.complexes.KLIFSConformationTemplatesFeaturizer._pre_featurize"]], "_pre_featurize() (kinoml.features.complexes.mostsimilarpdbligandfeaturizer method)": [[26, "kinoml.features.complexes.MostSimilarPDBLigandFeaturizer._pre_featurize"]], "_pre_featurize() (kinoml.features.complexes.schrodingercomplexfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._pre_featurize"]], "_prepare_structure() (kinoml.features.complexes.schrodingercomplexfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._prepare_structure"]], "_preprocess_structure() (kinoml.features.complexes.schrodingercomplexfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._preprocess_structure"]], "_read_protein_structure() (kinoml.features.complexes.schrodingercomplexfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._read_protein_structure"]], "_replace_ligand() (kinoml.features.complexes.schrodingerdockingfeaturizer static method)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._replace_ligand"]], "_store_docking_score() (kinoml.features.complexes.oedockingfeaturizer static method)": [[26, "kinoml.features.complexes.OEDockingFeaturizer._store_docking_score"]], "_store_docking_score() (kinoml.features.complexes.schrodingerdockingfeaturizer static method)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._store_docking_score"]], "_supports() (kinoml.features.complexes.singleligandproteincomplexfeaturizer method)": [[26, "kinoml.features.complexes.SingleLigandProteinComplexFeaturizer._supports"]], "_system_to_name() (kinoml.features.complexes.schrodingercomplexfeaturizer static method)": [[26, "kinoml.features.complexes.SCHRODINGERComplexFeaturizer._system_to_name"]], "_write_complex_mae() (kinoml.features.complexes.schrodingerdockingfeaturizer method)": [[26, "kinoml.features.complexes.SCHRODINGERDockingFeaturizer._write_complex_mae"]], "kinoml.features.complexes": [[26, "module-kinoml.features.complexes"]], "logger (in module kinoml.features.complexes)": [[26, "kinoml.features.complexes.logger"]], "alphabet (kinoml.features.core.baseonehotencodingfeaturizer attribute)": [[27, "kinoml.features.core.BaseOneHotEncodingFeaturizer.ALPHABET"]], "basefeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.BaseFeaturizer"]], "baseonehotencodingfeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.BaseOneHotEncodingFeaturizer"]], "callablefeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.CallableFeaturizer"]], "clearfeaturizations (class in kinoml.features.core)": [[27, "kinoml.features.core.ClearFeaturizations"]], "concatenated (class in kinoml.features.core)": [[27, "kinoml.features.core.Concatenated"]], "hashfeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.HashFeaturizer"]], "nullfeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.NullFeaturizer"]], "oebasemodelingfeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer"]], "padfeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.PadFeaturizer"]], "parallelbasefeaturizer (class in kinoml.features.core)": [[27, "kinoml.features.core.ParallelBaseFeaturizer"]], "pipeline (class in kinoml.features.core)": [[27, "kinoml.features.core.Pipeline"]], "tupleofarrays (class in kinoml.features.core)": [[27, "kinoml.features.core.TupleOfArrays"]], "_supported_types (kinoml.features.core.basefeaturizer attribute)": [[27, "kinoml.features.core.BaseFeaturizer._SUPPORTED_TYPES"]], "_supported_types (kinoml.features.core.parallelbasefeaturizer attribute)": [[27, "kinoml.features.core.ParallelBaseFeaturizer._SUPPORTED_TYPES"]], "__call__() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer.__call__"]], "__getstate__() (kinoml.features.core.parallelbasefeaturizer method)": [[27, "kinoml.features.core.ParallelBaseFeaturizer.__getstate__"]], "__repr__() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer.__repr__"]], "__setstate__() (kinoml.features.core.parallelbasefeaturizer method)": [[27, "kinoml.features.core.ParallelBaseFeaturizer.__setstate__"]], "_assemble_components() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._assemble_components"]], "_default_func() (kinoml.features.core.callablefeaturizer static method)": [[27, "kinoml.features.core.CallableFeaturizer._default_func"]], "_featurize() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer._featurize"]], "_featurize() (kinoml.features.core.concatenated method)": [[27, "kinoml.features.core.Concatenated._featurize"]], "_featurize() (kinoml.features.core.nullfeaturizer method)": [[27, "kinoml.features.core.NullFeaturizer._featurize"]], "_featurize() (kinoml.features.core.parallelbasefeaturizer method)": [[27, "kinoml.features.core.ParallelBaseFeaturizer._featurize"]], "_featurize() (kinoml.features.core.pipeline method)": [[27, "kinoml.features.core.Pipeline._featurize"]], "_featurize() (kinoml.features.core.tupleofarrays method)": [[27, "kinoml.features.core.TupleOfArrays._featurize"]], "_featurize_one() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.core.baseonehotencodingfeaturizer method)": [[27, "kinoml.features.core.BaseOneHotEncodingFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.core.callablefeaturizer method)": [[27, "kinoml.features.core.CallableFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.core.clearfeaturizations method)": [[27, "kinoml.features.core.ClearFeaturizations._featurize_one"]], "_featurize_one() (kinoml.features.core.hashfeaturizer method)": [[27, "kinoml.features.core.HashFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.core.padfeaturizer method)": [[27, "kinoml.features.core.PadFeaturizer._featurize_one"]], "_get_array() (kinoml.features.core.padfeaturizer method)": [[27, "kinoml.features.core.PadFeaturizer._get_array"]], "_get_components() (kinoml.features.core.oebasemodelingfeaturizer static method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._get_components"]], "_get_design_unit() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._get_design_unit"]], "_get_protein_residue_numbers() (kinoml.features.core.oebasemodelingfeaturizer static method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._get_protein_residue_numbers"]], "_getter() (kinoml.features.core.hashfeaturizer static method)": [[27, "kinoml.features.core.HashFeaturizer._getter"]], "_post_featurize() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer._post_featurize"]], "_post_featurize() (kinoml.features.core.clearfeaturizations method)": [[27, "kinoml.features.core.ClearFeaturizations._post_featurize"]], "_pre_featurize() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer._pre_featurize"]], "_pre_featurize() (kinoml.features.core.padfeaturizer method)": [[27, "kinoml.features.core.PadFeaturizer._pre_featurize"]], "_process_protein() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._process_protein"]], "_read_protein_structure() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._read_protein_structure"]], "_remove_clashing_water() (kinoml.features.core.oebasemodelingfeaturizer static method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._remove_clashing_water"]], "_retrieve_sequence() (kinoml.features.core.baseonehotencodingfeaturizer method)": [[27, "kinoml.features.core.BaseOneHotEncodingFeaturizer._retrieve_sequence"]], "_supports() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer._supports"]], "_update_pdb_header() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._update_pdb_header"]], "_write_results() (kinoml.features.core.oebasemodelingfeaturizer method)": [[27, "kinoml.features.core.OEBaseModelingFeaturizer._write_results"]], "featurize() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer.featurize"]], "kinoml.features.core": [[27, "module-kinoml.features.core"]], "logger (in module kinoml.features.core)": [[27, "kinoml.features.core.logger"]], "name (kinoml.features.core.basefeaturizer property)": [[27, "kinoml.features.core.BaseFeaturizer.name"]], "name (kinoml.features.core.pipeline property)": [[27, "kinoml.features.core.Pipeline.name"]], "one_hot_encode() (kinoml.features.core.baseonehotencodingfeaturizer static method)": [[27, "kinoml.features.core.BaseOneHotEncodingFeaturizer.one_hot_encode"]], "shortname (kinoml.features.core.pipeline property)": [[27, "kinoml.features.core.Pipeline.shortname"]], "supports() (kinoml.features.core.basefeaturizer method)": [[27, "kinoml.features.core.BaseFeaturizer.supports"]], "supports() (kinoml.features.core.pipeline method)": [[27, "kinoml.features.core.Pipeline.supports"]], "kinoml.features": [[28, "module-kinoml.features"]], "all_atomic_symbols (kinoml.features.ligand.graphligandfeaturizer attribute)": [[29, "kinoml.features.ligand.GraphLigandFeaturizer.ALL_ATOMIC_SYMBOLS"]], "alphabet (kinoml.features.ligand.onehotsmilesfeaturizer attribute)": [[29, "id0"], [29, "kinoml.features.ligand.OneHotSMILESFeaturizer.ALPHABET"]], "graphligandfeaturizer (class in kinoml.features.ligand)": [[29, "kinoml.features.ligand.GraphLigandFeaturizer"]], "morganfingerprintfeaturizer (class in kinoml.features.ligand)": [[29, "kinoml.features.ligand.MorganFingerprintFeaturizer"]], "onehotsmilesfeaturizer (class in kinoml.features.ligand)": [[29, "kinoml.features.ligand.OneHotSMILESFeaturizer"]], "singleligandfeaturizer (class in kinoml.features.ligand)": [[29, "kinoml.features.ligand.SingleLigandFeaturizer"]], "_compatible_ligand_types (kinoml.features.ligand.singleligandfeaturizer attribute)": [[29, "kinoml.features.ligand.SingleLigandFeaturizer._COMPATIBLE_LIGAND_TYPES"]], "_connectivity_coo_format() (kinoml.features.ligand.graphligandfeaturizer static method)": [[29, "kinoml.features.ligand.GraphLigandFeaturizer._connectivity_COO_format"]], "_featurize_one() (kinoml.features.ligand.graphligandfeaturizer method)": [[29, "kinoml.features.ligand.GraphLigandFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.ligand.morganfingerprintfeaturizer method)": [[29, "kinoml.features.ligand.MorganFingerprintFeaturizer._featurize_one"]], "_per_atom_features() (kinoml.features.ligand.graphligandfeaturizer method)": [[29, "kinoml.features.ligand.GraphLigandFeaturizer._per_atom_features"]], "_retrieve_sequence() (kinoml.features.ligand.onehotsmilesfeaturizer method)": [[29, "kinoml.features.ligand.OneHotSMILESFeaturizer._retrieve_sequence"]], "_supports() (kinoml.features.ligand.singleligandfeaturizer method)": [[29, "kinoml.features.ligand.SingleLigandFeaturizer._supports"]], "kinoml.features.ligand": [[29, "module-kinoml.features.ligand"]], "alphabet (kinoml.features.protein.onehotencodedsequencefeaturizer attribute)": [[30, "kinoml.features.protein.OneHotEncodedSequenceFeaturizer.ALPHABET"]], "aminoacidcompositionfeaturizer (class in kinoml.features.protein)": [[30, "kinoml.features.protein.AminoAcidCompositionFeaturizer"]], "oeproteinstructurefeaturizer (class in kinoml.features.protein)": [[30, "kinoml.features.protein.OEProteinStructureFeaturizer"]], "onehotencodedsequencefeaturizer (class in kinoml.features.protein)": [[30, "kinoml.features.protein.OneHotEncodedSequenceFeaturizer"]], "singleproteinfeaturizer (class in kinoml.features.protein)": [[30, "kinoml.features.protein.SingleProteinFeaturizer"]], "_compatible_protein_types (kinoml.features.protein.singleproteinfeaturizer attribute)": [[30, "kinoml.features.protein.SingleProteinFeaturizer._COMPATIBLE_PROTEIN_TYPES"]], "_counter (kinoml.features.protein.aminoacidcompositionfeaturizer attribute)": [[30, "kinoml.features.protein.AminoAcidCompositionFeaturizer._counter"]], "_featurize_one() (kinoml.features.protein.aminoacidcompositionfeaturizer method)": [[30, "kinoml.features.protein.AminoAcidCompositionFeaturizer._featurize_one"]], "_featurize_one() (kinoml.features.protein.oeproteinstructurefeaturizer method)": [[30, "kinoml.features.protein.OEProteinStructureFeaturizer._featurize_one"]], "_retrieve_sequence() (kinoml.features.protein.onehotencodedsequencefeaturizer method)": [[30, "kinoml.features.protein.OneHotEncodedSequenceFeaturizer._retrieve_sequence"]], "_supports() (kinoml.features.protein.singleproteinfeaturizer method)": [[30, "kinoml.features.protein.SingleProteinFeaturizer._supports"]], "kinoml.features.protein": [[30, "module-kinoml.features.protein"]], "logger (in module kinoml.features.protein)": [[30, "kinoml.features.protein.logger"]], "__git_revision__ (in module kinoml)": [[31, "kinoml.__git_revision__"]], "__version__ (in module kinoml)": [[31, "kinoml.__version__"]], "get_versions() (in module kinoml)": [[31, "kinoml.get_versions"]], "kinoml": [[31, "module-kinoml"]], "versions (in module kinoml)": [[31, "kinoml.versions"]], "kinoml.ml": [[32, "module-kinoml.ml"]], "attrlist (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.AttrList"]], "crossvalidatetrainer (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer"]], "kfold3way (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.KFold3Way"]], "multidatamodule (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.MultiDataModule"]], "observationmodeldataloader (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.ObservationModelDataLoader"]], "observationmodelmodule (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule"]], "rootmeansquarederror (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules.RootMeanSquaredError"]], "_iterwithobsmodel (class in kinoml.ml.lightning_modules)": [[33, "kinoml.ml.lightning_modules._IterWithObsModel"]], "__call__() (kinoml.ml.lightning_modules.attrlist method)": [[33, "kinoml.ml.lightning_modules.AttrList.__call__"]], "__getattr__() (kinoml.ml.lightning_modules._iterwithobsmodel method)": [[33, "kinoml.ml.lightning_modules._IterWithObsModel.__getattr__"]], "__iter__() (kinoml.ml.lightning_modules.observationmodeldataloader method)": [[33, "kinoml.ml.lightning_modules.ObservationModelDataLoader.__iter__"]], "__iter__() (kinoml.ml.lightning_modules._iterwithobsmodel method)": [[33, "kinoml.ml.lightning_modules._IterWithObsModel.__iter__"]], "__next__() (kinoml.ml.lightning_modules._iterwithobsmodel method)": [[33, "kinoml.ml.lightning_modules._IterWithObsModel.__next__"]], "_build_dataloader() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule._build_dataloader"]], "_common_validation_test_epoch_end() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule._common_validation_test_epoch_end"]], "_common_validation_test_step() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule._common_validation_test_step"]], "_disabled_validation_epoch_end() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule._disabled_validation_epoch_end"]], "_disabled_validation_step() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule._disabled_validation_step"]], "_patch_paths_for_kfold() (kinoml.ml.lightning_modules.crossvalidatetrainer method)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer._patch_paths_for_kfold"]], "_standard_step() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule._standard_step"]], "active_dataset (kinoml.ml.lightning_modules.multidatamodule property)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.active_dataset"]], "active_dataset_index (kinoml.ml.lightning_modules.multidatamodule property)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.active_dataset_index"]], "best_run() (kinoml.ml.lightning_modules.crossvalidatetrainer method)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer.best_run"]], "clear() (kinoml.ml.lightning_modules.crossvalidatetrainer method)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer.clear"]], "compute() (kinoml.ml.lightning_modules.rootmeansquarederror method)": [[33, "kinoml.ml.lightning_modules.RootMeanSquaredError.compute"]], "configure_optimizers() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule.configure_optimizers"]], "dataset_indices_by_size() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.dataset_indices_by_size"]], "fit() (kinoml.ml.lightning_modules.crossvalidatetrainer method)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer.fit"]], "forward() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule.forward"]], "get_kfold() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.get_kfold"]], "kinoml.ml.lightning_modules": [[33, "module-kinoml.ml.lightning_modules"]], "split() (kinoml.ml.lightning_modules.kfold3way method)": [[33, "kinoml.ml.lightning_modules.KFold3Way.split"]], "test() (kinoml.ml.lightning_modules.crossvalidatetrainer method)": [[33, "kinoml.ml.lightning_modules.CrossValidateTrainer.test"]], "test_dataloader() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.test_dataloader"]], "test_epoch_end() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule.test_epoch_end"]], "test_step() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule.test_step"]], "train_dataloader() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.train_dataloader"]], "training_step() (kinoml.ml.lightning_modules.observationmodelmodule method)": [[33, "kinoml.ml.lightning_modules.ObservationModelModule.training_step"]], "val_dataloader() (kinoml.ml.lightning_modules.multidatamodule method)": [[33, "kinoml.ml.lightning_modules.MultiDataModule.val_dataloader"]], "cnn() (in module kinoml.ml.tensorflow_models)": [[34, "kinoml.ml.tensorflow_models.CNN"]], "dnn() (in module kinoml.ml.tensorflow_models)": [[34, "kinoml.ml.tensorflow_models.DNN"]], "mpnn() (in module kinoml.ml.tensorflow_models)": [[34, "kinoml.ml.tensorflow_models.MPNN"]], "kinoml.ml.tensorflow_models": [[34, "module-kinoml.ml.tensorflow_models"]], "graphconvolutionneuralnetwork (class in kinoml.ml.torch_geometric_models)": [[35, "kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork"]], "estimate_input_shape() (kinoml.ml.torch_geometric_models.graphconvolutionneuralnetwork static method)": [[35, "kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork.estimate_input_shape"]], "forward() (kinoml.ml.torch_geometric_models.graphconvolutionneuralnetwork method)": [[35, "kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork.forward"]], "kinoml.ml.torch_geometric_models": [[35, "module-kinoml.ml.torch_geometric_models"]], "needs_input_shape (kinoml.ml.torch_geometric_models.graphconvolutionneuralnetwork attribute)": [[35, "kinoml.ml.torch_geometric_models.GraphConvolutionNeuralNetwork.needs_input_shape"]], "earlystopping (class in kinoml.ml.torch_loops)": [[36, "kinoml.ml.torch_loops.EarlyStopping"]], "lrscheduler (class in kinoml.ml.torch_loops)": [[36, "kinoml.ml.torch_loops.LRScheduler"]], "__call__() (kinoml.ml.torch_loops.earlystopping method)": [[36, "kinoml.ml.torch_loops.EarlyStopping.__call__"]], "__call__() (kinoml.ml.torch_loops.lrscheduler method)": [[36, "kinoml.ml.torch_loops.LRScheduler.__call__"]], "_old_training_loop() (in module kinoml.ml.torch_loops)": [[36, "kinoml.ml.torch_loops._old_training_loop"]], "kinoml.ml.torch_loops": [[36, "module-kinoml.ml.torch_loops"]], "multi_measurement_training_loop() (in module kinoml.ml.torch_loops)": [[36, "kinoml.ml.torch_loops.multi_measurement_training_loop"]], "convolutionneuralnetworkregression (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression"]], "convolutionneuralnetworkregressionproteininformed (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed"]], "denseneuralnetworkregression (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.DenseNeuralNetworkRegression"]], "listoftupleneuralnetworkregression (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.ListOfTupleNeuralNetworkregression"]], "neuralnetworkregression (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.NeuralNetworkRegression"]], "neuralnetworkregressionproteininformed (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed"]], "_basemodule (class in kinoml.ml.torch_models)": [[37, "kinoml.ml.torch_models._BaseModule"]], "estimate_input_shape() (kinoml.ml.torch_models.listoftupleneuralnetworkregression static method)": [[37, "kinoml.ml.torch_models.ListOfTupleNeuralNetworkregression.estimate_input_shape"]], "estimate_input_shape() (kinoml.ml.torch_models._basemodule static method)": [[37, "kinoml.ml.torch_models._BaseModule.estimate_input_shape"]], "forward() (kinoml.ml.torch_models.convolutionneuralnetworkregression method)": [[37, "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegression.forward"]], "forward() (kinoml.ml.torch_models.convolutionneuralnetworkregressionproteininformed method)": [[37, "kinoml.ml.torch_models.ConvolutionNeuralNetworkRegressionProteinInformed.forward"]], "forward() (kinoml.ml.torch_models.denseneuralnetworkregression method)": [[37, "kinoml.ml.torch_models.DenseNeuralNetworkRegression.forward"]], "forward() (kinoml.ml.torch_models.listoftupleneuralnetworkregression method)": [[37, "kinoml.ml.torch_models.ListOfTupleNeuralNetworkregression.forward"]], "forward() (kinoml.ml.torch_models.neuralnetworkregression method)": [[37, "kinoml.ml.torch_models.NeuralNetworkRegression.forward"]], "forward() (kinoml.ml.torch_models.neuralnetworkregressionproteininformed method)": [[37, "kinoml.ml.torch_models.NeuralNetworkRegressionProteinInformed.forward"]], "kinoml.ml.torch_models": [[37, "module-kinoml.ml.torch_models"]], "needs_input_shape (kinoml.ml.torch_models._basemodule attribute)": [[37, "kinoml.ml.torch_models._BaseModule.needs_input_shape"]], "kinoml.ml.torch_trees": [[38, "module-kinoml.ml.torch_trees"]], "delete_alterations() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.delete_alterations"]], "delete_expression_tags() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.delete_expression_tags"]], "delete_incomplete_backbone_residues() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.delete_incomplete_backbone_residues"]], "delete_residues() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.delete_residues"]], "delete_short_protein_segments() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.delete_short_protein_segments"]], "get_sequence() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.get_sequence"]], "get_structure_sequence_alignment() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.get_structure_sequence_alignment"]], "kinoml.modeling.mdanalysismodeling": [[39, "module-kinoml.modeling.MDAnalysisModeling"]], "logger (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.logger"]], "read_molecule() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.read_molecule"]], "remove_non_protein() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.remove_non_protein"]], "renumber_protein_residues() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.renumber_protein_residues"]], "select_altloc() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.select_altloc"]], "select_chain() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.select_chain"]], "update_residue_identifiers() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.update_residue_identifiers"]], "write_molecule() (in module kinoml.modeling.mdanalysismodeling)": [[39, "kinoml.modeling.MDAnalysisModeling.write_molecule"]], "apply_deletions() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.apply_deletions"]], "apply_insertions() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.apply_insertions"]], "apply_mutations() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.apply_mutations"]], "are_identical_molecules() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.are_identical_molecules"]], "assign_caps() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.assign_caps"]], "delete_clashing_sidechains() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.delete_clashing_sidechains"]], "delete_partial_residues() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.delete_partial_residues"]], "delete_residue() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.delete_residue"]], "delete_short_protein_segments() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.delete_short_protein_segments"]], "enumerate_isomeric_smiles() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.enumerate_isomeric_smiles"]], "generate_conformations() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.generate_conformations"]], "generate_enantiomers() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.generate_enantiomers"]], "generate_reasonable_conformations() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.generate_reasonable_conformations"]], "generate_tautomers() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.generate_tautomers"]], "get_atom_coordinates() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.get_atom_coordinates"]], "get_expression_tags() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.get_expression_tags"]], "get_sequence() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.get_sequence"]], "get_structure_sequence_alignment() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.get_structure_sequence_alignment"]], "kinoml.modeling.oemodeling": [[40, "module-kinoml.modeling.OEModeling"]], "logger (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.logger"]], "overlay_molecules() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.overlay_molecules"]], "prepare_complex() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.prepare_complex"]], "prepare_protein() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.prepare_protein"]], "prepare_structure() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.prepare_structure"]], "read_electron_density() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.read_electron_density"]], "read_molecules() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.read_molecules"]], "read_smiles() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.read_smiles"]], "remove_non_protein() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.remove_non_protein"]], "renumber_structure() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.renumber_structure"]], "residue_ids_to_residue_names() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.residue_ids_to_residue_names"]], "select_altloc() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.select_altloc"]], "select_chain() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.select_chain"]], "split_molecule_components() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.split_molecule_components"]], "superpose_proteins() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.superpose_proteins"]], "update_residue_identifiers() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.update_residue_identifiers"]], "write_molecules() (in module kinoml.modeling.oemodeling)": [[40, "kinoml.modeling.OEModeling.write_molecules"]], "kinoml.modeling.schrodingermodeling": [[41, "module-kinoml.modeling.SCHRODINGERModeling"]], "logger (in module kinoml.modeling.schrodingermodeling)": [[41, "kinoml.modeling.SCHRODINGERModeling.logger"]], "mae_to_pdb() (in module kinoml.modeling.schrodingermodeling)": [[41, "kinoml.modeling.SCHRODINGERModeling.mae_to_pdb"]], "run_prepwizard() (in module kinoml.modeling.schrodingermodeling)": [[41, "kinoml.modeling.SCHRODINGERModeling.run_prepwizard"]], "shape_screen() (in module kinoml.modeling.schrodingermodeling)": [[41, "kinoml.modeling.SCHRODINGERModeling.shape_screen"]], "kinoml.modeling.alignment": [[42, "module-kinoml.modeling.alignment"]], "sequence_similarity() (in module kinoml.modeling.alignment)": [[42, "kinoml.modeling.alignment.sequence_similarity"]], "kinoml.modeling": [[43, "module-kinoml.modeling"]], "kinoml.optimize": [[44, "module-kinoml.optimize"]], "appdir (in module kinoml.utils)": [[45, "kinoml.utils.APPDIR"]], "directory (kinoml.utils.filedownloader attribute)": [[45, "kinoml.utils.FileDownloader.DIRECTORY"]], "directory (kinoml.utils.localfilestorage attribute)": [[45, "kinoml.utils.LocalFileStorage.DIRECTORY"]], "filedownloader (class in kinoml.utils)": [[45, "kinoml.utils.FileDownloader"]], "fromdistpatchermixin (class in kinoml.utils)": [[45, "kinoml.utils.FromDistpatcherMixin"]], "localfilestorage (class in kinoml.utils)": [[45, "kinoml.utils.LocalFileStorage"]], "package_root (in module kinoml.utils)": [[45, "kinoml.utils.PACKAGE_ROOT"]], "__missing__() (kinoml.utils.defaultdictwithargs method)": [[45, "kinoml.utils.defaultdictwithargs.__missing__"]], "_from_dispatcher() (kinoml.utils.fromdistpatchermixin class method)": [[45, "kinoml.utils.FromDistpatcherMixin._from_dispatcher"]], "collapsible() (in module kinoml.utils)": [[45, "kinoml.utils.collapsible"]], "datapath() (in module kinoml.utils)": [[45, "kinoml.utils.datapath"]], "defaultdictwithargs (class in kinoml.utils)": [[45, "kinoml.utils.defaultdictwithargs"]], "download_file() (in module kinoml.utils)": [[45, "kinoml.utils.download_file"]], "featurizer_result() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.featurizer_result"]], "fill_until_next_multiple() (in module kinoml.utils)": [[45, "kinoml.utils.fill_until_next_multiple"]], "grouper() (in module kinoml.utils)": [[45, "kinoml.utils.grouper"]], "import_object() (in module kinoml.utils)": [[45, "kinoml.utils.import_object"]], "kinoml.utils": [[45, "module-kinoml.utils"]], "klifs_kinase_db() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.klifs_kinase_db"]], "klifs_ligand_mol2() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.klifs_ligand_mol2"]], "klifs_structure_db() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.klifs_structure_db"]], "pdb_smiles_json() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.pdb_smiles_json"]], "rcsb_electron_density_mtz() (kinoml.utils.filedownloader static method)": [[45, "kinoml.utils.FileDownloader.rcsb_electron_density_mtz"]], "rcsb_electron_density_mtz() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.rcsb_electron_density_mtz"]], "rcsb_ligand_sdf() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.rcsb_ligand_sdf"]], "rcsb_structure_cif() (kinoml.utils.filedownloader static method)": [[45, "kinoml.utils.FileDownloader.rcsb_structure_cif"]], "rcsb_structure_cif() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.rcsb_structure_cif"]], "rcsb_structure_pdb() (kinoml.utils.filedownloader static method)": [[45, "kinoml.utils.FileDownloader.rcsb_structure_pdb"]], "rcsb_structure_pdb() (kinoml.utils.localfilestorage static method)": [[45, "kinoml.utils.LocalFileStorage.rcsb_structure_pdb"]], "seed_everything() (in module kinoml.utils)": [[45, "kinoml.utils.seed_everything"]], "sha256_objects() (in module kinoml.utils)": [[45, "kinoml.utils.sha256_objects"]], "watermark() (in module kinoml.utils)": [[45, "kinoml.utils.watermark"]], "kinoml.workflows": [[46, "module-kinoml.workflows"]]}}) \ No newline at end of file